Skip to content

AI Tool to help recruiters shortlist resumes. Put resumes in a folder. Set the job description. And get back a sorted list.

License

Notifications You must be signed in to change notification settings

pbanuru/resumeShortlister

Repository files navigation

AI Resume Shortlister

Status Python License GPT-5

Are you a recruiter with a lot of resumes to get through and not a lot of time? Is your organization not supporting you with reasoning enabled AI advancements?

Meet AI Resume Shortlister - an intelligent tool that evaluates and ranks candidates against job descriptions using OpenAI's latest GPT-5 reasoning model. Simply put all resumes in a folder and let AI do the comprehensive analysis for you.

image.png

✨ Features

  • GPT-5 Powered Analysis - Uses OpenAI's most advanced public reasoning model
  • Beautiful Terminal UI - Rich formatting with colors, tables, and panels
  • Comprehensive Evaluation - Technical skills, experience, industry relevance, education, and overall fit
  • Batch Processing - Evaluate multiple resumes simultaneously
  • Customizable Prompts - Modify evaluation criteria for different roles

Future Improvements

  • Add Perplexity support to concurrently research each candidate and their background.
  • Evaluate accuracy / number of resumes

🚀 Quick Start

Prerequisites

  • OpenAI API key

Installation

  1. Install UV (Python package manager)

    Visit: https://docs.astral.sh/uv/getting-started/installation/

    macOS / Linux:

    curl -LsSf https://astral.sh/uv/install.sh | sh

    Windows (PowerShell):

    powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
  2. Clone and setup the project

    git clone https://github.com/pbanuru/resumeShortlister
    cd resumeShortlister
    uv sync
  3. Configure environment

    cp .env.example .env.local

    Edit .env.local and add your OpenAI API key:

    OPENAI_API_KEY=sk-proj-your-openai-key-here
    

    Don't have an openai api key? Watch this video: https://www.youtube.com/watch?v=OB99E7Y1cMA

Usage

  1. Add resumes - Place PDF resume files in the resumes/ folder
  2. Customize job description - Edit job_description.md with your specific role requirements
  3. Adjust evaluation criteria (optional) - Modify guidance_prompt.md if needed
  4. Run the evaluation
    uv run main.py

📊 Output

The tool provides three levels of insight:

  1. AI Reasoning Process - Step-by-step thinking and decision-making
  2. Structured Evaluation Data - Complete JSON output with scores and reasoning for each candidate
  3. Visual Summary - Beautiful tables and statistics for quick review

🛠️ Technical Details

  • Model: OpenAI GPT-5 with high reasoning effort and high verbosity
  • Input Format: PDF resumes converted to base64
  • Output Format: Structured JSON with Pydantic validation
  • UI Library: Rich for terminal formatting
  • Dependencies: OpenAI SDK, Rich, Pydantic, python-dotenv

📝 License

MIT License - see LICENSE file for details.

About

AI Tool to help recruiters shortlist resumes. Put resumes in a folder. Set the job description. And get back a sorted list.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages