AI-Based Resume Screening and Candidate Ranking System
Ranks candidate resumes against a job description using NLP similarity scoring.
Recruiters receive hundreds of resumes for a single opening and rarely have the time to read each one carefully. Keyword filters are quick but shallow: they miss a strong candidate who writes "built ML pipelines" when the posting says "machine learning engineer", and they reward resumes stuffed with buzzwords. This project builds a resume screening system that ranks candidates by how well their experience actually matches a job description.
The system extracts text from uploaded resumes, cleans it and converts both the resumes and the job description into semantic embeddings. Candidates are ranked by similarity, with separate scores for skills, experience and education so that a recruiter can see why someone ranks where they do. A FastAPI service exposes the ranking, PostgreSQL stores jobs, candidates and scores, and a recruiter-facing view presents a ranked shortlist with the matching and missing skills highlighted. The design also considers fairness: personal details such as name and gender are removed before scoring, and the write-up explains how to test the ranking for bias.
You will learn text preprocessing, embedding models, similarity search, API design and how to evaluate a ranking with measures such as precision at k. The Project Reference Guide documents every stage from data collection to evaluation, and the Reference Implementation includes the full code with set-up steps.