METHODOLOGY
How we score your resume
Six dimensions modeled around modern ATS and recruiter-screening signals. Five run as deterministic code; one calls a small LLM judge. Weights, signals, and sources are published below — no black box.
THE RUBRIC
Six dimensions, with their weights
Each dimension produces a 0-100 sub-score; the overall score is the weighted sum.
Parsing Health
20% of overall score
Whether modern ATS would extract your resume into structured fields without dropping content. The first thing every recruiter pipeline does — fail this and the rest of the score never gets read.
- Required sections present (experience, education, skills, summary)
- Contact completeness (name, email, phone)
- Date hygiene — every role has parseable start dates
- Bullet coverage — no role is bullet-empty
Skills Coverage
30% of overall score
How many of the job description's required skills your resume actually demonstrates. Two-pass: exact matching first, then embedding similarity to catch paraphrases ("React Native" demonstrated by "iOS app built with Expo").
- Exact skill matches against required + preferred + keyword lists
- Semantic matches via voyage-3-large or all-MiniLM-L6-v2 embeddings
- Threshold validation tracked against a labeled match/non-match set
- Local fallback semantic matches are marked medium-confidence
- Curve bent through sqrt to reward marginal coverage in the 50-80% band
Recruiter Searchability
15% of overall score
The fields recruiters commonly filter on inside ATS dashboards. A resume missing these fields can be harder to retrieve even when the experience is strong.
- Email, phone, LinkedIn URL, location
- Most-recent role title (titles drive search rankings)
- Degree presence for degree-required filters
- Quantified skills count and year-of-experience parseability
Bullet Impact
15% of overall score
How well your bullets convey achievement vs. duty. The difference between "responsible for backups" and "cut backup time 60% by migrating to incremental snapshots" is what closes the interview.
- Quantification rate (bullets containing numbers, %, or $)
- Action-verb starts against a curated whitelist (the inflated AI-tells like "spearheaded" and "leveraged" are penalized, not rewarded)
- Length distribution — sweet spot is 8-30 words
- Cliché penalty — passionate, robust, world-class, etc.
Recruiter Readability
10% of overall score
Resume-level layout signals for the 7.4-second initial-screening window (per the 2024 Ladders eye-tracking study). Bullet Impact asks "is this bullet good?"; Readability asks "is the resume itself laid out for a 7-second scan?"
- Bullets per role — 3-6 is the sweet spot
- Summary length — 30-80 words
- Role count — 2-6 visible roles before the experience tapers
- Average bullet length — 12-22 words for fast scanning
Experience Relevance
10% of overall score
A bounded LLM call (claude-haiku-4-5) judges whether your titles, tenure, and seniority match what the job description is actually asking for. The only dimension that uses a model — every other dimension is deterministic code that runs in milliseconds.
- Title alignment between most-recent role and the JD title
- Seniority match (junior/mid/senior/staff)
- Domain overlap (e.g. fintech vs healthcare)
- Tenure pattern fit
THREE NAMED SCORES
One rubric, three contexts
Each score uses the same six-dimension rubric. The naming makes apples-to-oranges comparisons impossible.
General Resume Score
After upload, no job attached
Industry-agnostic baseline. Skills Coverage and Experience Relevance redistribute their weight across the other four dimensions when no job description is present.
Match Score
After job is attached, before enhancement
The full six-dimension score against this specific job. This is a directional proxy for how retrievable, relevant, and readable your resume is for the requisition.
Enhancement Score
After enhancement runs
The six-dimension score on the enhanced resume. We surface both the original Match Score and the new Enhancement Score so the lift is explicit — and we never ship a regression past the no-op gate.
THE NO-REGRESSION CONTRACT
If we can't improve it, we don't ship it
Enhancement-must-improve gate.
What the gate guarantees
If an enhancement scores more than 3 points below the original, the run is treated as a no-op. You keep your original resume and we surface the regression details so you can try a different mode or a different role.
How it works
The same six-dimension rubric scores both the original and the enhanced resume. If the enhanced score is < original − 3, the pipeline marks the run no-op-due-to-regression and your active resume stays unchanged.
SOURCES
Data, models, and citations
Every external input the rubric depends on, with its license and what we use it for.
O*NET 28.3
CC BY 4.0Bundled taxonomy for attribution and planned deeper skill canonicalization
Voyage AI voyage-3-large
Commercial APIPrimary embedding backend for semantic skill matching (1,024 dimensions)
@xenova/transformers all-MiniLM-L6-v2
Apache 2.0Local fallback embedder when Voyage is unavailable (384 dimensions; semantic matches are medium-confidence)
Ladders 2024 eye-tracking study
Public research7.4-second average initial screening time used in Recruiter Readability
Anthropic claude-haiku-4-5
Commercial APIBounded LLM judge for the Experience Relevance dimension
This page summarizes the production scoring rubric. We keep source attribution and calibration notes under engineering review as the scorer evolves.