interviewstreet/hiring-agent

AI agent to evaluate and score resumes.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 42 minutes ago
Added to GitGenius on June 30th, 2026
Created on July 29th, 2025
Open Issues & Pull Requests: 290 (+1)
Number of forks: 1,324
Total Stargazers: 6,852 (+1)
Total Subscribers: 52 (+0)

Issue Activity (beta)

Open issues: 138
New in 7 days: 2
Closed in 7 days: 0
Avg open age: 142 days
Stale 30+ days: 119
Stale 90+ days: 68

Recent activity

Opened in 7 days: 2
Closed in 7 days: 0
Comments in 7 days: 2
Events in 7 days: 4

Top labels

No label distribution available yet.

Repository Insights (GitGenius)

Median issue/PR response: 0.8 hours
Mean response time: 7.3 days
90th percentile: 14.3 days
Tracked items: 98

Most active contributors

Sign in to see contributor activity.

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. 49% of tracked open issues have had no activity in three months. Only 2% of issues opened in the past year have been closed. Three people close 69% of everything that gets resolved.

Detailed Description

The Hiring Agent is a Python-based system designed to automate resume evaluation and scoring through a structured pipeline that combines PDF parsing, language model processing, and GitHub profile enrichment. The repository is classified across multiple hiring and recruitment domains including candidate evaluation, recruitment automation, technical screening, resume parsing, and HR analytics, reflecting its broad application in talent assessment workflows.

The core functionality implements a five-stage processing pipeline. First, resumes in PDF format are converted to Markdown-like text using PyMuPDF, preserving document structure including headings, links, and tables. Second, the system uses Jinja templates to extract structured JSON data from specific resume sections such as basics, work experience, education, skills, projects, and awards, with each section processed independently through an LLM. Third, if a GitHub profile is identified in the resume, the system fetches the candidate's GitHub profile and repositories, classifies projects, and uses the LLM to select the seven most meaningful contributions based on author commit thresholds. Fourth, an evaluator module applies fairness-constrained scoring across categories including open source contributions, personal projects, production experience, and technical skills, along with bonus points and deductions. Finally, results are output as human-readable summaries and optionally exported to CSV with intermediate caching.

The system supports two LLM backends, providing flexibility in deployment. Users can run Ollama locally for complete offline operation or integrate Google Gemini via API key for cloud-based processing. The architecture abstracts provider differences through unified interfaces in the models and llm_utils modules, allowing the same prompts and logic to work across both backends. Configuration is managed through environment variables controlling the LLM provider, model selection, and optional GitHub token for improved API rate limits.

The codebase is structured around several key modules. The models.py file defines Pydantic schemas for data validation and LLM provider interfaces. The transform.py module normalizes loose LLM outputs into JSON Resume format. The prompts directory contains all Jinja templates used for extraction and scoring, keeping prompt logic separate from code. Development mode enables caching of intermediate results to the cache directory and CSV export to resume_evaluations.csv, supporting iterative refinement and analysis.

The repository shares contributors with feast-dev/feast, openclaw/openclaw, and google-gemini/gemini-cli, suggesting integration with broader machine learning and AI tooling ecosystems.

The project requires Python 3.11 or higher and is distributed under the MIT license. Contributing guidelines emphasize keeping prompts declarative and provider-agnostic while validating changes against real resumes across different LLM providers. The system is designed for both one-off resume evaluations via CLI and batch processing through development mode, making it suitable for individual recruiters, hiring teams, and automated recruitment pipelines.

hiring-agent
by
interviewstreetinterviewstreet/hiring-agent

Repository Details

Fetching additional details & charts...