# Hiring Agent: An AI Agent for Resume Evaluation and Scoring

This repository profile is provided by osrepos.com, an open source repository discovery platform.

Source: osrepos.com
Repository profile: https://osrepos.com/repo/interviewstreet-hiring-agent
Generated for open source discovery and AI-assisted research.

Hiring Agent is an open-source AI agent designed to evaluate and score resumes objectively. It extracts structured data from PDF resumes, enriches it with GitHub profile signals, and provides a fair, explainable evaluation with detailed scores and evidence. This tool supports both local LLMs via Ollama and cloud-based options like Google Gemini.

GitHub: https://github.com/interviewstreet/hiring-agent
OSRepos URL: https://osrepos.com/repo/interviewstreet-hiring-agent

## Summary

Hiring Agent is an open-source AI agent designed to evaluate and score resumes objectively. It extracts structured data from PDF resumes, enriches it with GitHub profile signals, and provides a fair, explainable evaluation with detailed scores and evidence. This tool supports both local LLMs via Ollama and cloud-based options like Google Gemini.

## Topics

- Python
- AI
- Machine Learning
- Resume Parsing
- HR Tech
- LLM
- Open Source

## Repository Information

Last analyzed by OSRepos: Fri Jun 26 2026 08:23:46 GMT+0100 (Western European Summer Time)
Detail views: 3
GitHub clicks: 1

## Safety Notice

OSRepos shares public repositories for knowledge and discovery only. Review source code, dependencies, licenses, and security implications before running or installing anything.

## Content

## Introduction

Hiring Agent is a powerful open-source AI tool developed by InterviewStreet, designed to streamline and enhance the resume evaluation process. It automates the extraction of structured data from PDF resumes, enriches this data with valuable GitHub profile and repository signals, and then generates an objective, explainable evaluation. This system aims to provide a consistent and fair scoring mechanism for candidate resumes.

The agent's core functionality involves parsing resume PDFs into a markdown-like format, extracting key information using large language models (LLMs), and augmenting this data with insights from a candidate's GitHub activity. The final output includes category scores, supporting evidence, bonus points, and deductions, offering a comprehensive overview of a candidate's profile. It offers flexibility by supporting both local LLM setups with Ollama and cloud-based solutions like Google Gemini.

## Installation

Getting started with Hiring Agent is straightforward. Follow these steps to set up the project on your local machine:

### Prerequisites

*   **Python 3.11+**: The repository is configured for Python 3.11.13.
*   **One LLM backend**: Choose either Ollama for local models or Google Gemini if you have an API key.
    *   **Ollama**: Install from the [official site](https://ollama.com/ "Ollama Official Site" target="_blank"), then run `ollama serve`.
    *   **Google Gemini**: Obtain an API key from [AI Studio](https://aistudio.google.com/api-keys "Google AI Studio" target="_blank").

### Quick setup with pip

bash
$ git clone https://github.com/interviewstreet/hiring-agent.git
$ cd hiring-agent

$ python -m venv .venv
# Linux or macOS
$ source .venv/bin/activate
# Windows
# .venv\Scripts\activate

$ pip install -r requirements.txt


### Ollama Models

If you're using Ollama, pull the desired model. For example:

bash
$ ollama pull gemma3:4b


### Configuration

Copy the example environment file and configure your LLM provider and model:

bash
$ cp .env.example .env


Edit the `.env` file to set `LLM_PROVIDER` (e.g., `ollama` or `gemini`), `DEFAULT_MODEL` (e.g., `gemma3:4b` or `gemini-2.5-pro`), and `GEMINI_API_KEY` if using Gemini. Optionally, set `GITHUB_TOKEN` for improved GitHub API rate limits.

## Examples

To score a resume end-to-end, simply provide the path to a PDF file using the command-line interface:

bash
$ python score.py /path/to/resume.pdf


When you run this command, the following actions occur:

1.  If `DEVELOPMENT_MODE` is enabled in `config.py`, the PDF extraction result is cached.
2.  If a GitHub profile is identified in the resume, repositories are fetched and cached.
3.  The evaluator generates a detailed report, which is printed to standard output. In development mode, a CSV row is also appended to `resume_evaluations.csv`.

## Why Use It

Hiring Agent offers several compelling advantages for anyone involved in the hiring process:

*   **Objective and Explainable Evaluations**: It provides a structured scoring system with clear evidence, reducing bias and increasing transparency in resume assessments.
*   **GitHub Enrichment**: By integrating GitHub profile and repository data, it offers a deeper, more holistic view of a candidate's technical contributions and project experience.
*   **Flexible LLM Support**: The ability to use both local LLMs (Ollama) and cloud-based LLMs (Google Gemini) provides flexibility in deployment and cost management.
*   **Modular Architecture**: Its well-defined modules for PDF parsing, data extraction, GitHub integration, and evaluation make it extensible and easy to maintain.
*   **Open-Source**: Being open-source, it allows for community contributions, customization, and continuous improvement, adapting to evolving hiring needs.

## Links

*   **GitHub Repository**: [https://github.com/interviewstreet/hiring-agent](https://github.com/interviewstreet/hiring-agent "Hiring Agent GitHub Repository" target="_blank")