Hiring Agent is a resume-to-score workflow from HackerRank. It parses a resume PDF to Markdown, extracts structured JSON section by section with an LLM, enriches the data with the candidate's GitHub profile and repositories, and produces an evaluation with category scores, evidence, bonus points, and deductions.
HackerRank built it to rank tens of thousands of intern applications so reviewers know which resumes to read first. Resumes below a deliberately low cutoff are filtered out, and the rest go to human review, where the decisions are made. The project states that it is not an applicant tracking system and not a product offered to HackerRank customers, and that the shipped configuration is a demo rather than the production setup.
Extraction uses PyMuPDF and per-section Jinja prompt templates (basics, work, education, skills, projects, awards) to assemble a JSON Resume style object. GitHub enrichment fetches the candidate's repositories, classifies each project, and has the model pick seven projects that meet a minimum author-commit threshold. The evaluator then scores the resume against a role chosen on the command line: each role defines its own categories, weights, and prompts, and bonus rules have the model return evidence while Python calculates the points.
The shipped software engineering intern role scores open source, personal projects, production experience, technical skills, and AI fluency. It runs fully locally on a Gemma model through Ollama, or with Gemini or OpenAI models. Published analyses of the project have reported score variance between repeated runs of the same resume and score inflation from invisible text in PDFs, and the project lists that coverage alongside the code.
Features
- PDF extraction: converts resume pages to Markdown-like text, keeping headings, links, and tables
- Section parsing: per-section prompt templates produce a JSON Resume style object
- GitHub enrichment: fetches the candidate's profile and repositories, classifies projects, and selects the top seven
- Role-based rubrics: each role defines its own scoring categories, weights, score caps, and evaluation prompts
- Evidence-backed scoring: category scores, bonus points, and deductions with evidence for each
- Deterministic bonus math: the model supplies evidence for named bonuses and Python calculates and caps the total
- Role scaffolding: a CLI command creates a new role with placeholder categories and prompts
- Development mode: caches intermediate JSON and appends per-role CSV rows of results
- Model providers: local models through Ollama, or Gemini and OpenAI models through a provider map

