Resume generation is a deceptively hard AI product problem. The output is short,
the format is familiar, and large language models are good at producing confident
business prose. Those strengths create the main risk: plausible language can hide
unsupported facts.
We treat a resume rewrite as a constrained transformation rather than open-ended
copywriting. The source resume is the fact boundary. User-confirmed additions can
extend that boundary. Everything else must remain an inference, a question, or an
omission.
The workflow has four conceptual layers.
1. Extract the source record
We first turn PDF, DOCX, image, or pasted text into a structured record. Employer,
title, dates, credentials, and numerical outcomes are high-risk fields. A model
may improve the wording around them, but it should not silently change them.
The useful intermediate format is not “a better resume.” It is an evidence map:
claim: Reduced reconciliation time by 20%
state: verified_source
source: experience[0].bullet[2]
missing_context: workflow_or_system
That state makes the limitation visible. We have a measurable outcome, but the
mechanism is still missing.
2. Separate matching from generation
A target job description is not permission to copy qualifications into the
candidate's history. Matching asks whether the resume has direct proof, adjacent
proof, or a gap for each important requirement. Generation can reframe direct and
adjacent proof. It cannot convert a gap into experience.
This separation is useful even without an LLM. Deterministic checks can preserve
dates, detect important phrase overlap, and flag unsupported numerical changes.
3. Preview a small, inspectable unit
Generating a full resume immediately makes review difficult. We now generate a
short text preview first: a proposed summary and the experience most relevant to
the target. The lead role is selected for relevance rather than assumed to be the
most recent.
The user can accept the direction or adjust it before the remaining sections are
generated. This is both a UX improvement and a reliability control. It creates a
human checkpoint before a long output compounds a bad assumption.
4. Lock confirmed anchors
Once the preview is confirmed, the full generation keeps the approved summary,
company, role, dates, and bullets as anchors. The model can complete education,
skills, and supporting experience, but it should not produce a second,
incompatible career story.
The larger lesson applies beyond resumes: when an AI system edits high-stakes
personal records, fluent output is not the primary quality metric. Traceability,
bounded inference, and cheap correction points matter more.
We are building this approach into My Best Resume. The public product explains
the evidence boundary and lets users inspect the result before export:
https://mybestresume.ai/about.
Top comments (0)