Skip to content

raodhanu/CandidateRanking

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Candidate Ranking System

This project is an AI-powered candidate ranking system that allows users to upload candidate data, configure ranking criteria, and receive stack-ranked results using OpenAI's GPT models. The system is built with a Flask backend and a modern HTML/JS frontend.

Features

  • Upload candidate data via CSV
  • Use sample candidate data for demo/testing
  • Configure ranking criteria weights (academic degree, rank score, age)
  • Optionally provide a job title and job description for context-aware AI ranking
  • AI-powered ranking and justification for each candidate
  • Download ranked results as CSV
  • Responsive, modern UI

Project Structure

candidate-ranking-system/
│
├── backend/
│   ├── app.py                     # Flask application
│   ├── ranking_engine.py          # LLM ranking implementation
│   ├── prompt_templates.py        # Structured prompts for the LLM
│   ├── document_processor.py      # Resume processing functionality
│   ├── utils.py                   # Helper functions
│   └── requirements.txt           # Dependencies
│
├── frontend/
│   ├── static/
│   │   ├── css/
│   │   │   └── main.css
│   │   └── js/
│   │       └── main.js
│   └── templates/
│       ├── index.html
│       └── results.html
│
├── uploads/                       # Uploaded and processed files
├── results/                       # (Optional) Output results
└── README.md

Setup Instructions

1. Backend Setup

  1. Create a virtual environment
    python -m venv .venv
    .venv\Scripts\activate  # On Windows
    source .venv/bin/activate  # On Mac/Linux
    
  2. Install dependencies
    pip install -r backend/requirements.txt
    
  3. Set your OpenAI API key
    • Create a .env file in the project root with:
      OPENAI_API_KEY=sk-...
      

2. Frontend Setup

No build step is required. The frontend is served by Flask from the frontend/templates and frontend/static folders.

3. Running the App

From the project root, run:

python -m backend.app

Then open http://127.0.0.1:5000 in your browser.

How to Start the Project

  1. Clone or download this repository.
  2. Set up your Python virtual environment and install dependencies:
    python -m venv .venv
    .venv\Scripts\activate  # On Windows
    # or
    source .venv/bin/activate  # On Mac/Linux
    pip install -r backend/requirements.txt
    
  3. Set your OpenAI API key:
    • Create a .env file in the project root with:
      OPENAI_API_KEY=sk-...
      
  4. Start the backend server:
    python -m backend.app
    
  5. Open your browser and go to: http://127.0.0.1:5000

Usage

  1. Upload a CSV with candidate data (columns: candidate_name, age, academic_degree, rank_score), or use the sample data.
  2. Configure ranking parameters:
    • Set job position (required)
    • Optionally provide a job description for more context-aware ranking
    • Adjust weights for academic degree, rank score, and age
    • Set degree values if needed
  3. Click "Rank Candidates" to get AI-generated rankings and justifications.
  4. View and export results on the results page.

Customization

  • You can add more criteria or change the prompt in backend/prompt_templates.py.
  • The backend is designed to be extensible for more advanced resume parsing or additional AI features.

Requirements

  • Python 3.10+
  • OpenAI API key

License

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published