Resume scoring rubric — how the 100-point score works
Resume AI scores every resume on a 7-rule rubric out of 100 points. Same number every time you look at the same resume — deterministic, no AI grading the score itself. The full breakdown is visible to Pro+ / Lifetime; Free + Hour-Pack tiers see only the top-line score.
The 7 rules
| Rule | Points | What it measures |
|---|---|---|
| Contact Info | 10 | Full name, email, phone, location, LinkedIn. All 5 fields present = 10. Missing fields cost ~2 points each. |
| Experience | 25 | Number of roles + dates + employer names + actual bullet content (not "responsible for…" template leftovers). Largest weight — this is what interviewers actually scan. |
| Education | 10 | Degree(s), institution, graduation year. Bonus for relevant coursework if listed. |
| Skills | 10 | A distinct Skills section with concrete tools / languages / frameworks. Lists of buzzwords without specifics score lower. |
| Content Quality | 20 | Bullet structure (action verbs, quantified results, specifics). Generic bullets ("worked on team," "responsible for X") cost points; specific bullets ("shipped Y feature to 12M users, cut latency 30%") gain them. |
| Page Fullness | 15 | One full page = good. Half a page = under-claiming. Two+ pages = signal of poor editing. Sweet spot is 0.95-1.05 pages. |
| Originality | 10 | Penalizes detection of the default-template strings (e.g., "Alex Johnson," "Acme Technologies," "responsible for software development"). If you didn't edit out the dummy placeholders, this drops fast. |
| Total | 100 |
Why rules and not AI
Three reasons the score uses deterministic rules instead of LLM-graded subjective scoring:
- Instant. Each score recalculation is sub-50 ms (vs ~2 seconds for an LLM round-trip).
- Deterministic. The same resume always produces the same number. You can A/B test "what if I rewrite this bullet" and trust the delta.
- Predictable. AI scoring drifts — same resume scores 73 today, 78 tomorrow because the model was tuned slightly differently. Rules don't drift.
Full design memo: engineering/resume_score_rubric.md (internal).
What a "good" score is
- 70-79 — solid resume, hits most rules. Most people start here.
- 80-89 — strong resume, clearly edited, quantified. Above-average.
- 90+ — exceptional. Rare on first upload; usually requires deliberate iteration with AI rewrite.
- <70 — something's missing: probably Contact Info gaps, dummy text not edited out, or Content Quality bullets that need quantification.
How to improve your score
Each rule has a hint pointing at the specific issue. Click the rule on /resumes → Score Panel → see the hint text. Common fixes:
- Contact Info -8 → "Phone or LinkedIn missing" — add the field
- Content Quality -12 → "Most bullets lack quantified results" — rewrite bullets with numbers (use AI Rewrite for help)
- Originality -10 → "Template defaults detected: 'Alex Johnson', 'Acme Technologies'" — replace dummy text
- Page Fullness -7 → "Resume is 0.6 pages" — add a Projects section or expand bullets
The score is one signal, not the signal
A 95 resume can still fail interviews. A 75 resume can land FAANG. The rubric grades the resume artifact; it doesn't grade you. Use the score to find quick wins (template leftovers, missing contact info) — not as a hiring oracle.
Score visibility per plan
| Plan | What you see |
|---|---|
| Free | No score visible — locked entirely |
| Hour Pack | Top-line score only ("78/100") |
| Pro / Pro+ / Lifetime | Full per-rule breakdown + hints |
Where it lives in code
apps/api/domains/scoring/resume.py — the 7 rules, byte-identical port from the legacy vanilla-HTML resume builder. Frontend Score Panel: apps/web/app/resumes/_components/score-panel.tsx.
Still stuck?
Help & Feedback → Contact us with category "How do I…?" if your score doesn't match what you expected, OR if a rule's hint is unclear.
Video walkthrough
Coming soon.
Still stuck?
Sign in and message the founder directly from the Help & Feedback tab. Every reply comes from a real person, usually within a few hours.
Contact us