ResumeScorer — Reverse-Engineering the Resume Screener
If a bot is going to score your resume, score it yourself first. ResumeScorer runs my resumes through an open-source hiring-agent pipeline across three LLM backends — and turns the numbers into edit plans.
Overview
ResumeScorer is a local resume-scoring lab built around HackerRank's open-source interviewstreet/hiring-agent pipeline (PDF → LLM section extraction → GitHub verification → a 120-point rubric). Thin PowerShell wrappers (219 lines total) drive the pipeline across three LLM backends — GPT-4o-mini via OpenRouter as the canonical scorer, DeepSeek, and a fully local Ollama gemma3 fallback for privacy — plus a small Python job-finder that pulls postings from HN, GitHub READMEs and ATS boards. A companion Claude Code skill and subagent convert raw score reports into prioritized, strictly honest edit plans: they propose wording and structure changes, never invented content.
The Problem
Automated screeners increasingly gate the first round of hiring, and their scoring logic is opaque to candidates. Rather than guess, the move is empirical: run the same open-source screener recruiters could run, decompose its rubric (35 points open source, 30 self projects, 25 production signals, 10 technical skills, plus bonus), benchmark real resumes against it, and let the numbers direct the edits.
Questions Addressed
- 01
What does an LLM screener actually reward, in points, section by section?
- 02
How stable are scores across different LLM backends — is the rubric or the model doing the work?
- 03
Where do my own resumes verifiably lose points, and which edits recover them honestly?
Methodology
Wrap, Don't Rebuild
The scoring pipeline is HackerRank's OSS code, kept in its own clone; this repo adds deliberately thin orchestration — four PowerShell scripts totaling 219 lines — plus configuration for three backends: OpenRouter GPT-4o-mini (canonical), DeepSeek chat, and CPU-forced local gemma3 via Ollama for scoring anything sensitive offline.
Benchmark & Decompose the Rubric
An 18-resume benchmark (17 scored, one deterministic parser failure — documented, not hidden) established the baseline: my own resumes scored 44–59/100, with Open Source at 0/35 across the board — the single biggest verified gap, and the direct motivation for the open-source work now in this portfolio. The 120-point rubric is fully decomposed in the repo's docs.
Score → Honest Edit Plan
A score-resume Claude Code skill plus a resume-optimizer subagent read the score report and produce a ranked, weight-aware edit plan under a hard honesty constraint: rephrase and restructure only, never fabricate experience. An 18-item severity-ordered self-audit documents exactly where the lab itself is weak.
Key Results
Key Findings
Screener rubrics are legible once you run them: open-source contributions carried the largest single weight (35/120) — more than technical skills — which few candidates would guess.
The local-model fallback matters: scoring other people's resumes through cloud APIs is a privacy decision, not just a cost one.
The loop only works with an honesty constraint — an optimizer that invents content would maximize the score and destroy the artifact's purpose.
Conclusion
ResumeScorer is a lab, not a product — no UI, thin-by-design wrappers around credited external OSS, results kept private. Its value is the feedback loop it created: a measured 0/35 open-source score is why Voidscape, Peru Grid and the skills work below exist in public. Sometimes the most useful thing a tool tells you is what to go build next.