An LLM pipeline that scores résumés using GitHub evidence
Hiring Agent exists to automate first-pass résumé screening by turning PDFs and GitHub profiles into structured, explainable scores.
HackerRank’s Hiring Agent rejects black-box SaaS in favor of local LLMs, GitHub signals, and auditable prompt templates.

What it does
Hiring Agent ingests a résumé PDF, converts it to Markdown-like text with PyMuPDF, and prompts an LLM—local via Ollama or hosted via Gemini—to extract structured sections such as work history, skills, and projects into a normalized JSON Resume format. It then hunts down the candidate’s GitHub profile, classifies repositories, and feeds everything into a scoring engine that awards points for open-source work, production experience, and technical depth, while documenting its reasoning with evidence, bonuses, and deductions.
The interesting bit
The scoring rules and fairness constraints live in Jinja templates that the evaluator passes to the LLM, meaning the model applies its own rubric in natural language. The whole pipeline can also run offline on a local Ollama instance, turning a laptop into an opinionated recruiting assistant.
Key highlights
- Extracts sectioned JSON from PDFs using per-section Jinja prompts (
basics.jinja,work.jinja, etc.) and normalizes the output to JSON Resume style viatransform.py. - Enriches candidates with live GitHub data: profile, repos, and an LLM-curated shortlist of up to seven projects filtered by a minimum author commit threshold.
- Evaluation outputs category scores (
open_source,self_projects,production,technical_skills) alongside explicit evidence, bonuses, and deductions. - Runs fully local with Ollama or against Google Gemini, with Pydantic schemas and provider wrappers keeping the interfaces tidy.
- Development mode caches intermediate JSON extractions and appends results to a CSV for batch iteration.
Caveats
- GitHub enrichment is opportunistic: if the candidate omits a GitHub profile from the résumé, the repository analysis is skipped entirely.
- The scoring criteria and fairness constraints are declared inside Jinja templates, but the README never exposes the weights or rubric, so tuning requires reading the prompt files themselves.
- Python support is narrowly pinned to 3.11.13, which may complicate dropping the tool into existing environments.
Verdict
Useful for engineering teams who want to experiment with LLM-assisted screening without sending résumés to a cloud API. Less useful if you need legally defensible, fully transparent scoring, since the rubric is locked inside prompt templates.
Frequently asked
- What is interviewstreet/hiring-agent?
- Hiring Agent exists to automate first-pass résumé screening by turning PDFs and GitHub profiles into structured, explainable scores.
- Is hiring-agent open source?
- Yes — interviewstreet/hiring-agent is open source, released under the MIT license.
- What language is hiring-agent written in?
- interviewstreet/hiring-agent is primarily written in Python.
- How popular is hiring-agent?
- interviewstreet/hiring-agent has 6.7k stars on GitHub and is currently cooling off.
- Where can I find hiring-agent?
- interviewstreet/hiring-agent is on GitHub at https://github.com/interviewstreet/hiring-agent.