kernelmind/ai-resume-screener
0
๐ AI Resume Screener
An intelligent resume screening system that uses Gemini AI for data extraction, ChromaDB for semantic search, and a hybrid scoring algorithm to rank candidates against job descriptions.
โจ Features
- PDF Resume Parsing โ Extracts text from PDF resumes with magic-byte validation for security
- AI-Powered Extraction โ Uses Gemini 2.5 Flash to extract structured data (name, skills, experience)
- Vector Search โ Stores resume embeddings in ChromaDB for semantic matching
- Hybrid Scoring Algorithm โ Combines semantic similarity (40%) + skill match (40%) + experience (20%)
- Bulk Upload โ Ingest multiple resumes in a single API call
- Beautiful Dashboard โ Streamlit UI with real-time progress, candidate cards, and CSV export
๐๏ธ Architecture
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโ
โ Streamlit โโโโโโถโ FastAPI โโโโโโถโ Gemini AI โ
โ Frontend โ โ Backend โ โ (Extraction) โ
โ (app.py) โโโโโโโ (main.py) โ โโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโ โ โ
โ โโโโโโถโโโโโโโโโโโโโโโโโ
โ โ โ ChromaDB โ
โ โโโโโโโ (Vector Store) โ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโ๐ Getting Started
Prerequisites
- Python 3.10+
- A Gemini API key
Installation
# Clone the repo
git clone https://github.com/THEN01EXPLORER/ai-resume-screener.git
cd ai-resume-screener
# Create virtual environment
python -m venv venv
source venv/Scripts/activate # Windows
# source venv/bin/activate # Mac/Linux
# Install dependencies
pip install -r requirements.txtConfiguration
Create a .env file in the project root:
GEMINI_API_KEY=your_api_key_hereRunning
Open two terminals:
# Terminal 1 โ Start the FastAPI backend
uvicorn main:app --reload
# Terminal 2 โ Start the Streamlit frontend
streamlit run app.pyThen open http://localhost:8501 in your browser.
๐ก API Endpoints
๐งฎ Scoring Algorithm
The hybrid score is calculated as:
Final Score = (Semantic Similarity ร 0.40) + (Skill Match ร 0.40) + (Experience ร 0.20)- Semantic Similarity โ Cosine distance from ChromaDB, converted to similarity
- Skill Match โ Percentage of required skills found in the resume
- Experience โ Full marks if meets minimum, 50% penalty otherwise
๐ ๏ธ Tech Stack
- Backend: FastAPI, Uvicorn
- Frontend: Streamlit
- AI: Google Gemini 2.5 Flash
- Vector DB: ChromaDB with SentenceTransformer (
all-MiniLM-L6-v2) - PDF Parsing: pdfplumber
- Data Validation: Pydantic
๐ License
This project is open source and available under the MIT License.
