Resume Screening AI
ResumeAI analyses uploaded PDF resumes using a TF-IDF vectoriser and XGBoost classifier to predict job categories with 80.9% accuracy across 22+ roles - with results delivered in under 1 second.

Tech stack
Impact
Problem Statement
Recruiters manually screen hundreds of resumes per role, leading to unconscious bias and massive time costs. The goal was an automated NLP system to predict a candidate's job category from raw resume text - instantly and accurately.
Dataset
2,484 labelled resume PDFs spanning 22+ job categories including Data Science, HR, Engineering, Finance, and more. PDFs were parsed with PyPDF2 and cleaned with regex before feature extraction.
Architecture
Two-stage pipeline: (1) TF-IDF vectorisation to convert resume text into weighted term features; (2) XGBoost multi-class classifier for category prediction. A Streamlit front end handles PDF upload, text extraction, prediction, and confidence-score display.
Model Selection
XGBoost was chosen over Logistic Regression and Random Forest for its superior gradient boosting on sparse TF-IDF vectors and fast inference. TF-IDF outperformed Word2Vec for short-document classification.
Training Process
Trained with 80/20 stratified split, label encoding, and hyperparameter tuning via GridSearchCV on learning rate, max depth, and estimators. Model serialised with joblib for sub-second Streamlit inference.
Evaluation Metrics
Results
Live Streamlit app at resume-screening-ai-01.streamlit.app - upload any PDF resume and get instant job-category predictions with confidence scores across 22 roles.
Key Learnings
- 1TF-IDF + XGBoost is a powerful, fast baseline for short-document NLP tasks.
- 2Resume text quality varies wildly - robust PDF parsing is as important as the model.
- 3Confidence scores add recruiter trust that raw predictions alone don't provide.
Want to dig deeper?
Explore the code, or get in touch if you'd like to talk through the approach.