Check a resume against a job posting before you apply.

See which of the posting's keywords your resume covers, get a score for every bullet and rewrite the weak ones. Resume versions, applications and cover letters live in the same place.

Version 2.0.0 · MIT license · github.com/dguywhoknows/resume-analyzer

The app itself, running inside this page. Anything you do here is saved in your browser.

Ask it to do things

Press Ctrl+K in the app (Cmd+K on a Mac) and describe what you want. The model chooses from the app's own functions, runs them in order and tells you what changed. Some examples:

Score my resume against this job postingRuns the match and shows missing keywords.
Rewrite my weakest three bullets with numbersFinds the lowest-scoring bullets and rewrites them.
Write a short cover letter for this roleDrafts a letter from your resume and the job.

Instructions you save in the same box, such as "keep it short" or "I'm a beginner", are added to every AI request the app makes.

Features

Weighted keyword extraction
Unigrams, bigrams, known phrases, requirement-section boosting.
Synonym
Stem-aware matching (JS → JavaScript, k8s → Kubernetes, …) with coverage gauge.
Bullet linter
Action verb, quantified outcome, length, first person, passive voice, buzzwords.
Section detection
Summary, Experience, Education, Skills, Projects, Certifications.
PDF resume import
Via pdf.js with line reconstruction.
AI recruiter review
Per-bullet XYZ rewrites with [placeholders], tailored summary, cover letter.
Resumes page
Keep multiple versions, each with a job-independent quality score broken down into bullets, sections, contact details, length and quantification.
Version compare
Line-level diff (LCS) with quality and job-match deltas.
Jobs page
Drag-and-drop application tracker (saved / applied / interview / offer / rejected) with live match % per job, response rate and stale-application alerts.
Letters page
Saved cover letters per job with an editor, word count and one-click AI revisions (shorter, more specific, warmer, more formal).

Runs in your browser

Keyword extraction, matching, bullet linting, section detection, PDF parsing. None of this needs a network connection or a model.

Uses a language model for

Structured JSON recruiter review grounded in locally computed coverage + missing keywords. Bullet rewriting constrained to never fabricate metrics. Streaming cover-letter generation with tone control.

Notes

Cost
Free. Each account has a daily allowance of AI requests.
Your data
What you make stays in this browser on this device. Your account is only used for signing in and for the built-in AI. You can export a backup or clear everything from Settings.
AI access
Signed-in users get the built-in AI with nothing to set up. You can also use your own Groq or OpenRouter key under Settings.
Source
The code and tests are on GitHub under the MIT license. The tests also run in your browser.