Features
Everything here exists to keep one document connected to one record.
A resume builder gives you the last step with no evidence base behind it. A matcher scores a document it did not compose. These are the pieces that keep the evidence and the document connected end to end.
The record
A Career KB that resolves your history
Add your resume variants and Maestro performs entity resolution, deduplication, bullet clustering and profile synthesis. What comes out is one structured record of your work, projects and skills. Certifications, project write-ups and review notes belong in there too.
Approved points compose word for word into resumes and applications
Verbatim bullets from your own files import approved; merged and model-written points wait for review
Every point keeps provenance back to the document it came from
Seeding defers cleanly with no API key and retries on a later boot

The measurement
Deterministic scoring, and a measured lift
Deterministic lexical layers plus a pinned embedding model for semantics. Soft matches need both a shared lexical anchor and embedding proximity, so “container orchestration” earns credit against Kubernetes without inventing a skill you don't have.
Same resume, posting and config version gives an identical score and breakdown, run after run
Recency is one of the inputs, so a document scored months apart can move as its work ages — the only thing that does
Base-to-tailored delta recorded per application, so you can see if tailoring did anything
Runs offline on CPU. Scoring never calls a model.

The pre-flight
Health Report: is this document sound at all?
A gap needs a job description. A Health Report doesn't. It checks one resume on its own merits — parsing, dates, evidence quality, format gates — and hands back a letter grade with a fix list ranked by what each flaw costs you.
A failing fatal gate blocks tailoring outright
Tailoring reorders a healthy document. It can't repair a broken one.
Overrule any finding, with your reason on the record

The output
Real typesetting, without the typesetting
Two engines compiled locally: LaTeX and Typst. You edit content in a structured editor and layout stays the template's job, so changing a word can't break your formatting. A template owns presentation and nothing else, which is why switching one never touches your content.
Changing your design is a button, not a rebuild
Start from a bundled design, adapt one you found, or write your own
Validation compiles a sample PDF and runs a parse gate, so a design that breaks ATS parsers never ships

The capture
An extension that never stores what you typed
A floating widget on the job page. Capture the posting, score it against every base resume, tailor on the spot, fill the form from your Autofill Profile. Its telemetry records which fields it met and whether they filled. It cannot record a value you typed, because the table has no column for one.
Zero-config install. The extension pins its identity, so the backend already trusts it.
Signatures, attestations, consent boxes, credentials and government IDs are deny-listed
It posts to your own backend on localhost. There's no collector on the other end.

The feedback loop
What the market keeps asking you for
Every captured job builds a picture of the market you're really applying into: top skills, a skill heatmap, role mix over time. Filter by role category, seniority and employment type.
Gaps sort into missing, already in your KB, or already on a resume
Frequent and missing is what to learn next
Frequent but already yours is what you keep forgetting to say

Also in the box
The parts that make each pass cheaper than the last
No more resume_v2_FINAL(3).docx
Every write path records a version: manual edits, chat edits, tailoring runs, even restores. Diff two, restore one. Old variants get archived rather than deleted, so they're still there when an unusual role calls for one.
Tell it how you sound, once
Your persona holds strengths, goals, working style and how your writing should read. Set it once and every generated document comes out in that voice. Tone and emphasis only. Never facts.
Chat scoped by what you pin
Pin a resume and chat works on that one. Pin a section, an entry or a single bullet and edits outside that scope get refused, not just discouraged. Proposed edits arrive as a card you accept or discard.
Quick Tailor
For when you already know the answer. One request against a job, resolutions planned from your saved preferences, tailored and rendered without opening a session. Same honesty rules.
Knock-out pre-scan
Work authorization, OPT policy, salary and years of experience, checked against your profile at capture time. Disqualifiers surface before you spend the evening.
career.md export
Your whole career record as one Markdown file, no model involved. Download it from the Career KB page or over MCP. Every render is filed on disk in its own company-and-role folder.
How it compares
Side by side with the alternatives
Only checkable claims — pick any row and verify it yourself.
| Typical AI resume builders | CLI skill frameworks | Maestro CS | |
|---|---|---|---|
| ATS scoring | LLM or black-box. Same input, different score per run. | LLM judgment | Deterministic and LLM-free. Same input, same score. |
| Measured tailoring lift | Static score only | Not scored as a lift | Base-to-tailored delta, per application |
| See what the AI changed | No audit trail | No | Per-hunk diff, revertible |
| Typeset output | House web templates | HTML to PDF | Real LaTeX and Typst, bring your own |
| Career record | None, per document | Flat markdown/YAML files | Structured, versioned, exports to one career.md |
| Agent access | No | CLI skill files | MCP server, 83 tools, on your machine |
| Auto-submits for you | N/A | Never (stated) | Never. Consent ledger, enforced. |
| Cost | $15–75/month | Free + tokens | Free, Apache-2.0, plus ≈1¢ an application in tokens |
Only checkable claims. Verify any row yourself. Columns describe the categories as of August 2026; tell us if one has gone stale.
One row deserves expanding. The score is our score: deterministic, versioned and reproducible. It is not a prediction of what any real ATS shows an employer — no consumer tool can offer that, and independent tests keep proving the point, with the same resume scoring 66–99 across 100 runs on a popular LLM-judged checker. Use ours to compare your own drafts against one another and to catch parsing and coverage problems.
It's early. I'd rather hear about it.
I built this because I needed it, and I use it every day. It also has the rough edges of software with one user, especially that first boot from a fresh clone. If something breaks, tell me. A clear bug report is a contribution and right now it's the most useful kind. Pull requests welcome too.
— Ajey Dhayashanker Loganathan
Career tooling should be infrastructure, not a rental.
Clone it, run it, keep everything it produces. Nothing here was built to make leaving hard.
Apache-2.0 · no account · no subscription · your data stays on your disk