interviewstreet/hiring-agent

AI agent to evaluate and score resumes.

What it solves

It addresses the challenge of processing massive volumes of job applications (e.g., 50,000+ intern applications) by ranking resumes to help recruiters decide which ones to read first. It aims to provide a fair, explainable evaluation process that filters out only the lowest-scoring candidates while leaving the majority for human review.

How it works

The system uses a multi-stage pipeline to evaluate candidates:

  1. PDF Extraction: Converts resume PDFs into Markdown-like text using PyMuPDF.
  2. Section Parsing: Uses LLM prompts (via Jinja templates) to extract structured JSON data for sections like work experience, education, and skills.
  3. GitHub Enrichment: Identifies GitHub profiles from the resume, fetches repository data, and uses an LLM to select the top 7 most meaningful projects based on commit thresholds.
  4. Evaluation: Scores the extracted data against a specific role's rubric (defined in role.json and Jinja templates), calculating category scores, bonus points, and deductions.
  5. Output: Generates a readable report and, in development mode, exports results to a CSV file.

Who it’s for

Recruiters and hiring managers who need to prioritize a high volume of resumes based on objective, role-specific rubrics, as well as developers looking to build or study automated resume scoring systems.

Highlights

  • Local or Cloud LLMs: Supports local execution via Ollama (e.g., Gemma) or cloud-based models via Google Gemini.
  • Role-Specific Rubrics: Allows users to define custom roles with their own scoring categories, weights, and criteria.
  • GitHub Integration: Augments resume data with actual code contribution signals from GitHub.
  • Explainable Scoring: Provides evidence for each score assigned, making the evaluation transparent rather than a "black box."

Related

  • Project
  • Project
  • Project
  • Project
  • Project