Skip to evaluation evidence

Tested against real postings and hostile profiles.

A model writes the résumé. Code grades it. Every claim must resolve to your profile, every PDF must survive four extractors, every page is measured for defects, and a judge reads each rewrite beside its source. The results come first. The rules that produced them follow.

PDF extractors
4
parsability checks
5
layout defect kinds
7
provenance codes
13
per render
~70 ms
hard gates 100% ✓
What every document is checked against before it ships.

What the metrics say.

Measured, not promised

The harness runs against real job postings and every profile type below, on every change to the tailor. A change that moves one of these numbers down does not ship.

Claims traced to the profile100%Every employer, title, date, skill, and rewritten bullet resolved to its source.
Documents readable by every extractor100%Every keyword recovered verbatim, in order, under all four extractors.
Rewrites that preserved their meaning99.9%Judged against the source bullet and its context. The exception was reported, not hidden.
Pages delivered with a hidden defect0Every page is measured for seven defect kinds before delivery. One that is not clean is flagged, never passed off as clean.

Five checks, in the order they run.

  1. Provenance

    hard gate · 100% ✓

    Every rewrite carries the ID of the source bullet and the role it came from. The renderer looks up names, employers, titles, dates, and skills from your profile, so the model never writes one. A rewrite that cannot be traced is not a warning. It is a rejected document.

    Fails when
    • an ID that does not resolve to your profile
    • a bullet used twice, or moved to a role where the work did not happen
    • a skill that is not in your skill pool verbatim
  2. Parsability

    hard gate · 100% ✓

    Four independent PDF extractors read the finished document, including the parser family most enterprise applicant tracking systems are built on. A missing extractor counts as a failure, so a document cannot pass by skipping the strict one.

    Fails when
    • a keyword that does not extract verbatim under every extractor
    • a font that is not embedded with a Unicode map
    • contact does not lead, or the extractors disagree on section order
    • a word broken across lines, or a glyph other than the list marker
  3. Layout

    clean or reported, never passed off

    The compiled PDF is measured, not eyeballed. Seven defect kinds are weighted by severity, the compose loop keeps the best page it measured, and a page that still carries a defect is reported as not clean instead of shipped as clean.

    Fails when
    • text past the page, or a heading stranded from its content
    • a widow, a line overrun, or a short last line
    • an underfull page, or bullets spread unevenly across roles
  4. Faithfulness

    no drift from the source

    A judge model reads each rewrite beside its source bullet and its context and answers one question: is the meaning preserved. It may only rephrase, reorder, compress, or drop detail. Pinned verdicts calibrate the judge before every run, so a judge that stops catching an inflated number fails first.

    Fails when
    • a changed number, scale, duration, or magnitude
    • shared work claimed as owned, or a contribution upgraded to leadership
    • a technology, outcome, or responsibility the source never states
  5. Keyword coverage

    must beat the untailored baseline

    The share of the posting's most frequent terms present in the tailored document, compared with the same profile rendered untailored. Lexical on purpose, because real applicant tracking filters match words.

    Fails when
    • a tailored document that covers fewer posting terms than the untailored one

Tested on profiles like yours, and on profiles built to break it.

Every change runs against everyday profiles paired with real postings, and against hostile profiles paired with a posting written to attack the model. A failure on the second set becomes a rule before it can reach the first.

Everyday

Paired with real postings
  • Densemore bullets than a page holds
  • Mid-careerthe baseline every change is measured against
  • Foundershared work, easy to overclaim
  • Academicqualifiers carry the truth
  • New graduatetoo thin to fill a page
  • Career changerrelevance must not outrank recency
  • Promotionsone employer, several titles
  • Contractormany short engagements

Hostile

Paired with a posting written to attack the model
  • Injectioninstructions hidden in bullets and skills
  • Unicodeaccents, emoji, right-to-left text
  • Length extremesa paragraph and a single word
  • Malformedempty roles, duplicated bullets
  • First personfacts only in the context
  • Relevance traponly the oldest role fits
  • Shuffled datesmixed formats, overlapping roles
  • Overstuffedmore than any template allows

Guardrails are not prompt instructions.

The guardrails
I

In the schema

The output format only admits references into your profile. These cannot be prompted away, because there is no field to write the invented fact into.

  • No names, employers, titles, dates, or skills from the model
  • Every bullet cites its source and its role
  • No bullet used twice, or moved to another role
  • Skills only from your pool, verbatim
II

In code

Deterministic checks that run on every output whichever model produced it, and a compose loop that spends every free render before it spends a token.

  • Experience ordered by your dates, not by the model
  • Bullet length checked against the template's measured windows
  • First and third person rejected by pattern
  • Page geometry measured on every render
  • Bounded renders, revisions, and trims per document
III

Instructed, then judged

The few rules that live in the prompt are checked afterwards by the faithfulness judge, so a rule the model ignores still fails the run.

  • Only tools the source names
  • A figure counts what the source says it counts
  • Length comes from facts, never from filler
  • Qualifiers travel with the fact or the fact stays out
  • Never upgrade the verb: designed is not led

Read the rules. Then read the document.

Free to try · no credits, no upsells · your data stays yours