The core is a language model reading a resume, scoring it against a checklist and rewriting weak bullets, and an agent builds that in one sitting: extract text from a PDF or DOCX, run plain-code rules plus one LLM pass, and show the findings beside each bullet. What you don't copy is the vendor's tuned rubric and its library of sample lines. LinkedIn review works from pasted text, because scraping LinkedIn breaks its terms. Your resume goes to an LLM API unless you run a local model.
Before you buildResume Worded's free report is partial but worth running first: it shows the score and the first suggestions, so you can judge whether Pro adds anything for you.
Build me a resume checker to replace Resume Worded. Requirements: - Node.js 22 + TypeScript: a Fastify server with Eta pages. `npm start` serves http://localhost:4300: upload at /, a report at /reports/<id>. - Storage: better-sqlite3 in ./data/resumes.db for resumes (extracted text), pasted job descriptions and reports (score and findings as JSON). Uploaded files stay in ./data/uploads. - Parsing: PDF through `pdfjs-dist`, DOCX through `mammoth`. Warn when extraction gives fewer than 150 words, jumbled column order or no text layer, since an ATS would struggle too. - Rules in plain code, each worth a stated number of points that sum to 100, with a table of the rules on the report: page count, weak opening verbs, bullets without a number, bullets over 30 words, missing sections, inconsistent dates, first-person pronouns. - LLM pass: send the text (and the job description if pasted) to an OpenAI-compatible endpoint with the key in .env. Zod-validated JSON returns a verdict per bullet (strong, vague, no result) and a rewrite that adds no numbers, employers or skills I did not write; also list job-description keywords missing from the resume. - Report: score, rule findings, each bullet beside its rewrite with a copy button, and the rewritten resume as DOCX (`docx`). - LinkedIn: paste the About and Experience text into a form (no scraping) for the same bullet review and keyword gaps. - Single user. No accounts, no telemetry, local-first. Outbound calls: the LLM endpoint only, and the README lists exactly what text is sent and how to point it at a local Ollama. - Out of scope: templates, a resume builder, scraping LinkedIn, job search, payments. - README: setup, the .env keys, and a warning that the score is a heuristic, not what any real ATS computes.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Resume Worded.
Add job tailoring to the resume checker in this folder. Requirements: - A page where I paste a job posting; an LLM extracts required and preferred skills, tools and responsibilities as Zod-validated JSON. - Show a coverage table: each item, whether the resume text mentions it, and the line where it does. - Suggest bullet edits only for items the resume already supports. List unsupported items as gaps and never write them into the resume. - Save each posting with its coverage score so I can compare postings. - Update the README.
Add version history to the resume checker in this folder. Requirements: - Uploading a resume with the same label creates a new version instead of a new resume. - A history page with the score per version on a small line chart and a word-level diff between any two versions. - The report shows which rule findings were fixed and which are new since the last version. - Update the README.
Add an export check to the resume checker in this folder. Requirements: - After generating the DOCX, convert it to PDF with LibreOffice (`soffice --headless`) and extract the text again with `pdfjs-dist`. - Compare it with the source text and report missing sections, reordered columns, lost characters and table cells that merged. - Show the extracted text next to the original, with differences highlighted. - Fail clearly if LibreOffice isn't installed. Update the README.
Add a local-model mode to the resume checker in this folder. Requirements: - LLM_BASE_URL and LLM_MODEL in .env switch between a hosted API and Ollama; no code path may call another host. - An `npm run eval` command that runs the five resumes in ./samples through the current model and prints a table of valid JSON, bullets rewritten and invented facts found. - Detect invented numbers by checking every digit in a rewrite against the source text. - Update the README with a comparison table and the model I ran.
A job search is short and stressful, and a score out of 100 with line-by-line fixes feels like a recruiter's opinion without booking one. The quarterly and yearly plans cut the price, which suits a search that runs for months.
Estimate · Runs on your machine. Each check is a few cents of LLM tokens, or nothing with a local model. The build is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0 | $0 | A scored Score My Resume report and a LinkedIn profile review with partial results, sample resumes and LinkedIn tips. |
| Pro | $49 | $19 | Full Score My Resume report with line-by-line analysis, full Targeted Resume report, full LinkedIn review, AI rewriting of bullets, recruiter insights, ATS templates and sample lines. |
Free gives a Score My Resume report and a LinkedIn review, with the line-by-line analysis and full reports held back for Pro.
Yes. An AI coding agent such as Claude Code, Codex or Cursor can build a usable personal version in one session with the prompt on this page, running on your own machine.
About $49 a month on the Pro, monthly plan, $588 a year (checked 2026-10-19).
A scoring rubric tuned by the vendor over years, so your score isn't comparable; The library of sample resume lines and ATS-checked templates; LinkedIn review with keyword analysis and networking templates; The in-browser fixer that rewrites bullets and exports a DOCX; Saved reports for several resumes in one hosted account. If any of those matter to you, keep paying.
Yes: Resume Matcher (open source), Reactive Resume (open source), JobSync (open source).