The Machinery

the machinery

Every AI call this app makes, told plainly: what goes in, what comes back, and where it lands. The model proposes and shows its work; you decide. In local mode nothing leaves your machine except the call to the backend you chose.

1. Chapter suggestions

intake_suggestions

In chapter three, after you have written your roles and your throughline, the app offers horizon titles and signal words you might not have thought to claim. It reads only what you typed in the chapters themselves, nothing from disk, and its suggestions are clickable only because they are real: they come from your own words, rephrased.

The result is cached per user, so revisiting the chapter does not spend again.

What goes in
The roles you enteredYour throughline
Through
Your configured model
What comes back
Horizon title ideasSignal words

Kept with your chapter progress; nothing lands until you click it.

up to 600 tokens outcached per user

2. Score a posting

score_posting

This is the heart. You paste a posting on Evaluate (or confirm a discovered company, or hit See roles on the watchlist) and the app assembles your entire side of the argument: your Compass, your Book, your Playbook, your signal and red-flag words, your compensation floor, and your recent disagreements with the machine. Ten score calibrations and five verdict overrides ride along, so the model reads your pushback before it scores.

It returns six scores from zero to three on your own dimensions, a verdict, a fit summary written to you, and a gap analysis with buildable project ideas. It also extracts the title, company, location, and salary, and it is under orders to keep the title clean.

What goes in
COMPASS.mdProject BookPlaybookSignal + red-flag wordsLast 10 calibrationsLast 5 overridesThe posting
Through
Your configured model
What comes back
Six scores, 0 to 3VerdictFit summaryGap analysisTitle, company, pay

Saved as a new role: the row behind every dashboard entry.

up to 4,096 tokens outstable prefix cached: a 20-posting run rereads your Book at about a tenth of the price

The slim-book pre-pass

select_relevant_roles

Only for the Claude CLI and local models, which cannot use prompt caching and choke on a full Book. Before scoring, a tiny call reads just your career timeline headings next to the posting and picks which of your roles actually matter for it. Scoring then runs against a slimmed Book: the chosen roles in full, everything else untouched. If the pre-pass fails, it fails open and keeps the whole Book.

What goes in
Timeline headingsThe posting
Through
Same backend, tiny budget
What comes back
A list of role numbers

Not saved; it only shapes the scoring call that follows.

up to 256 tokens outCLI and local modes only

3. Draft materials

generate_materials

On a role’s Materials page, the model drafts a cover letter and a resume (or a resume summary, in summary mode) for that specific posting. It reads your Book and Playbook, the role’s scoring record including the fit summary, and your writing rules: the sections of your Playbook about what to say and what to never say.

It also reads your last five rounds of edits as line diffs. When you rewrote its sentence last time, it sees exactly which lines you cut and what you wrote instead, and it is told to draft closer to you this time.

What goes in
Project BookPlaybookThe role + fit summaryYour writing rulesLast 5 edit diffs
Through
Your configured model
What comes back
Cover letter draftResume or summaryVersion rationale

Saved on the application record; exported to disk in local mode.

up to 8,192 tokens out in full modeno caching

4. Base resumes

generate_base_resume

One call per resume version, each drafting a full markdown resume from your Book and Playbook, angled at that version’s label. These are the starting points that per-role tailoring works from.

What goes in
Project BookPlaybookThe version’s label
Through
Your configured model
What comes back
A markdown resume

Saved per version; view and edit them under Settings → Your documents.

up to 4,096 tokens out per versionno caching

5. Discover companies

discover_companies

On Discover, the model reads your Compass, Book, and Playbook and proposes companies worth watching, with a guess at each one’s careers page and screening vendor. It is handed exclusion lists of everything you already track, skipped, or were shown, so it cannot pad the list with what you have seen.

Its guesses do not stand alone: the app then verifies each ATS guess against the live board before anything is shown to you.

What goes in
COMPASS.mdProject BookPlaybookExclusion listsOptional role type
Through
Your configured model
What comes back
Candidate companiesATS guessesCareers URLs

Saved as suggestions after live verification and the grounding pass below.

up to 4,096 tokens outstable prefix cached

6. Ground the rationales

ground_suggestions

The honesty pass. Right after discovery, a second call takes each suggested company’s “why it fits” and rewrites it against real posting text fetched from that company’s live board. A rationale that cannot be grounded in an actual posting comes back null and the claim is dropped. What reaches your screen has evidence behind it.

What goes in
COMPASS.mdReal fetched postings
Through
Your configured model
What comes back
Grounded rationalesNulls for the ungroundable

Replaces the first call’s rationale before suggestions are saved.

up to 4,096 tokens outno caching

7. Autofill a company

autofill_company

When you add a company by hand, the model fills in what it knows from the name alone: category, a why-you-might-care line, the careers URL, a screening-vendor guess. If it does not recognize the company it says so with nulls instead of inventing one. Nothing is saved until you confirm the form.

What goes in
The company nameOptional URL hint
Through
Your configured model
What comes back
CategoryCareers URLATS guess

Prefills the form only; saved when you submit it.

up to 1,024 tokens outno caching

The feedback loop

Disagreement is the product. When you correct a score and say why, that becomes a calibration; the next ten scoring calls read it. When you overrule a verdict, the next five calls read that too. And when you edit a draft before sending it, the exact lines you cut and the lines you wrote instead are shown to the next materials call as a diff.

None of this trains a model. It is context, assembled fresh each time from your own records, and it stays in your database.

What it costs

The two heavy calls (scoring and discovery) split their prompts in half: a stable prefix holding your Compass, Book, Playbook, and calibrations, and a volatile tail holding the posting at hand. The prefix is cached by the API, so scoring twenty postings in a run rereads your documents at about a tenth of full price. A typical scoring call on Sonnet 5 runs around $0.032 before caching; the Claude CLI costs nothing extra on a subscription, and a local model costs only electricity.

Every call, whatever the backend, logs its tokens and cost to the usage ledger, which is what the Ledger page reads.

Hand-checked against the code on 2026-07-27. If a call changes, this page changes.