AI Lab · AI product · Usability pilot · 2026 · 7 min read

Resume Fit Copilot: evidence-backed resume checks

Problem statement

Check whether your experience supports each resume claim.

Problem

Resume claims need real evidence

Job seekers want clear, relevant resume bullets that represent their experience accurately and remain defensible when an interviewer asks how the work was done.

Issue

Polished wording can overstate the work

AI rewrites can introduce unsupported responsibilities or numbers. A passing technical test also does not establish that users can complete the resume workflow successfully.

Solution

Check each claim against experience

Resume Fit Copilot connects an evidence bank to a line-by-line claim checker. A pilot with six AI test users identified four blockers and pointed the product toward a checker-first workflow.

Progress Six AI test users identified four blockers and favored the checker.

Role
Product owner and builder, with AI development tools: framing, architecture, evaluation, pilot
Type
AI product, portfolio MVP (Release 2)
Stack
Python, LangChain and LangGraph, local embeddings, Streamlit; AWS serverless demo built, not deployed
Status
Reset to checker-first after the pilot (Oct 2026)
Skills
Discovery, AI evaluation, usability research, architecture, decision logs

Problem

Job seekers need resume claims they can defend in an interview

The need comes from desk research, not interviews. No real user has been interviewed yet.

  • Job seekers need to know which resume claims their experience supports.
  • A polished AI rewrite can introduce unsupported scope or numbers.
  • The checker ties each claim to evidence before it is used.

Users

Three job-seeker personas share the need for credible evidence

The personas are proto-personas built from sources, checked against research. They are not research participants.

PersonaJob to be doneWhat makes them leave
Ravi, 34, laid off after 8 years in IT services (primary)"Get me bullets I can send tonight and defend in the interview."15 to 20 minutes spent with nothing to send
Meghna, 29, business analyst doing an MBA (primary)"Make my bullets read like a decision maker's, without lying."It looks amateur, loses her work, or contradicts her own resume
Farhan, 38, applying to jobs in Dubai (backup)"Tell me if my CV matches this job, and give me one I can send."It feels built for IT people, or like a trick

Product

The checker ties each resume claim to the user’s actual experience

FeatureWhat it does
Evidence bankOne fact per line with a stable ID. Client names tagged once and always hidden
Requirement mapEach job requirement is Covered, Likely (confirm), Weak, Missing or Check yourself, judged one evidence line at a time
Gap coachFor each gap, your nearest experience and three questions. The app refuses to use a fill-in line until you complete it
Cited bulletsOne bullet per evidence line, checked by rules, retried if it fails, reviewed by you
Check AI textPaste bullets from any AI. Each is matched to your evidence and cited or flagged, with a safer version

Built on Python, LangChain retrievers (word and local-embedding meaning search, fused) and a rule-based verifier, with a Streamlit interface. Offline results looked strong: the verifier accepted 0 of 30 unsupported bullets, and the checker flagged 11 of 11 invented bullets. But those cases are synthetic and labelled by the AI that wrote the code, so they are not real-world accuracy.

Pilot method

Six AI personas tested the app without access to its code

3 personasRavi, Meghna,Farhan, fromdesk research6 AI agents2 per persona,blind to the code,screen onlyThe real appreal browser,laptops andphonesA report each5-second test,journey log,pain pointsI re-run itevery defect,by handProduct decisionschecker first, an LLM judges, rules can vetoCannot show: demand,or what anyone would pay.Same model family asthe builder: shared blind spots.
How the LLM-based usability pilot worked.
Diagram guideRead left to right. Three personas are each played by two AI agents, who drive the real app in a real browser and see only what is on screen. Each writes a report. I then re-ran every defect by hand. The bottom box is what the findings changed. The note at left is what this method cannot show.

I passed a 14-case scripted test run, so I wanted to see what happens when someone who does not know the app uses it. Six AI agents, two per persona, each played a person who had just arrived from a friend's link. They could not read the code or docs, only look at the screen, and had to act with the persona's patience, reading speed and device. Each ran a 5-second test on the landing page, then tried five tasks, from loading a resume to checking AI-written bullets.

The inputs were messy on purpose: a resume pasted as people copy it from a PDF, job posts written like real postings, and AI bullets with known overclaims planted. Limits: the agents share a model family with the builder, they knew they were in a study, and minutes are estimates. The pilot finds usability problems and defects. It cannot prove demand.

Results

All six favored the checker, but none left with ready-to-send bullets

MeasureResult
Left with bullets they would send0 of 6
Planted overclaims caught by "Check AI text"All of them, in all 6 sessions
Named the checker the best part6 of 6
Would pay Rs 499 for the app as it was0 of 6. Five would come back, for the checker only
Blocker defects in the core path4, all reproduced by hand

This is why the scripted run missed them: it used a clean demo bank and approved every bullet in one pass. Real resumes are not clean.

Findings

Four blockers explained why a passing build was not enough

  • One or two bullets from a whole resume. The import kept the skills list as evidence and dropped real facts, so the first bullet was often the skills list copied word for word.
  • A crash on the second save that wiped the user's work on reload.
  • The job parser skipped "Key Responsibilities", so it lost 7 of 16 requirements on one post and 6 of 14 on another.
  • The export was not a CV. A heading and a few bullets, which the overseas persona could not send.

The checker itself had one flaw that cost trust: it flagged a user's own true sentence because the import had split cause and result into two lines.

Decisions and trade-offs

I shifted to checker-first, with rules able to veto AI judgments

01What the product is

A checker first, an organiser second, the writer frozen

Why: The pilot proved the checker was the one thing people valued, and it works alongside ChatGPT instead of competing with it.

Trade-off: Fixing the writer in a Release 2.1 nobody had asked for

02Who judges a claim

An LLM judges with a quoted reason; hard rules can only make the verdict stricter

Why: An LLM can be talked into "close enough". For numbers, named tools, ownership verbs and client names, the answer must be provable.

Trade-off: Rules alone, which missed nuance in every session

03How to score

Two scores shown apart: Defensibility and Job fit

Why: A high job fit built on claims you cannot defend is exactly the harm this product exists to prevent, so the two are never combined.

Trade-off: One number, or no score

04Proof of work

Compare the resume against an older resume or one-tap answers ("Did you lead the team of 5?")

Why: A resume cannot prove itself, and a blank evidence bank is where users gave up.

Trade-off: Requiring an evidence bank up front

Business case

A paid demand test comes before more feature development

Zero of six would pay for the product as it was. That is a statement about visible value, not willingness to pay, because the testers were AI agents.

  • Proxy signals say checking is a habit: third-party trackers put India at roughly a third of Resume Worded's visits, around 600,000 a month, and about 20% of Jobscan's. Medium confidence, and none of it shows people pay for defensibility.
  • The gate: a fake-door page and a Rs 499 one-job probe, then five real users in acceptance testing, before any new feature work. Neither has been run.

Feedback loop

Reported problems flow through bounded AI triage into Jira

  • Architecture: a serverless AWS design (S3 and CloudFront for the page, one Lambda, one DynamoDB table, SSM for secrets and a kill switch) with a Jira Cloud project for reported problems.
  • Safety by design: the LLM only fills a fixed-choice schema and treats the user's report as untrusted text. Code applies every rule. The Jira client has no close, transition or delete method. Daily and per-call spend caps stop LLM triage.
  • Status: built and tested on my machine. Not deployed, so there is no live link. The keyword triage scored 30 of 30 on samples its own author wrote, which is not a meaningful result; the LLM triage is not measured.

What I learned

Validate the complete user task before expanding the product

  • Test the real user journey, beyond a passing build.
  • Use AI personas to find usability issues, then validate demand with people.
  • Retest the checker-first flow before testing willingness to pay.