AI Resume Screening System

AI Resume Screening System

Upload a resume, get its job category predicted by a trained ML model, and score it against any job description. A complete Python final year project with source code and a project report.

Technology Used

Python | Flask | scikit-learn (TF-IDF + LinearSVC) | Groq API (LLaMA 3.3 70B) | NLTK | pdfplumber / python-docx

codeAj
codeAjVerified
🏆5K+ Projects Sold
Google Review
4991999

Get complete project source code + Installation guide + chat support

Project Files

Get Project Files

What This Project Actually Does

You upload a resume — PDF or Word file — and the app reads it, figures out which job category it belongs to (from 25+ categories like Data Science, HR, Web Designer), and tells you. That's step one.

Step two is where it gets serious. Paste in a job description, and the app computes a cosine-similarity match score (0–100%) and labels it Strong, Partial, or Weak. Then it goes a level deeper — the resume gets sent to the Groq API (LLaMA 3.3 70B), which returns a full AI-written analysis: a professional summary of the candidate, experience level (Entry/Mid/Senior/Executive), a 1–10 rating, strengths and weaknesses, skills found vs. skills missing, 5 concrete improvement suggestions, and ATS optimization tips.

Under the hood there's no magic on the classification side. A TfidfVectorizer turns the resume text into numbers, and a LinearSVC model (trained on the Kaggle Resume Dataset) does the classifying. The AI analysis layer is the part that makes this feel less like a college toy and more like an actual product — the kind of thing an ATS vendor would charge a subscription for.

Key Features

Resume Category Prediction

Classifies resumes into 25+ job categories using TF-IDF + LinearSVC, with 85.3% accuracy on the held-out test split.

Job Match Scoring

Computes cosine similarity between the resume and a pasted job description, returning a calibrated 0–100% score. Thresholds — Strong (≥25%), Partial (≥12%), Weak (<12%) — are tuned to the model's real score distribution, not an arbitrary scale.

AI-Powered Resume Analysis

Uses the Groq API (LLaMA 3.3 70B) to generate a professional summary of the candidate, detect experience level (Entry / Mid / Senior / Executive), assign an overall 1–10 rating, and surface strengths, weaknesses, identified skills, and recommended skills to add. It also produces 5 actionable improvement suggestions, ATS optimization tips, and JD-match feedback when a job description is provided.

Multi-Format Support & Privacy

Accepts PDF and DOCX resumes with drag-and-drop upload — extraction handled by pdfplumber and python-docx. Resumes are processed entirely in-memory and never stored on disk.

Responsive UI

Mobile-friendly design with a sticky navbar, hero sections, and modern styling across four pages — Home, Results, About, and Contact.

Training Notebook

A Jupyter notebook (resume_screening.ipynb) walks through the full pipeline in phases: EDA, cleaning, TF-IDF, model comparison, evaluation, and JD matching — great for the viva when your examiner asks "so how does it work?"

Real-World Applications

This is the exact problem HR teams and job portals throw money at. When a company posts one opening and 400 resumes land in the inbox, somebody has to filter them. This tool does the first pass — sorting by role, scoring against the JD, and generating AI feedback — so a human only reviews the shortlist with context already attached.

Same idea powers the screening layer inside applicant tracking systems. If you've ever wondered why your resume needs the "right keywords" to get past the bots, this is basically the bot — plus the coaching layer that tells a candidate what to fix. Building it yourself is a solid way to understand resume parsing and screening from the inside.

Who Should Buy This

If you're a BCA, MCA, or BTech CSE student in your final semester and you need a working AI/ML project that isn't just another to-do list app, this is for you. It combines classical ML (TF-IDF + LinearSVC) with a modern LLM integration (Groq), which gives examiners two full topics to dig into during the viva.

Honestly? If your submission is next week and you don't have time to train models from scratch or wire up an LLM API, grab this. It runs in about 15 minutes after setup, and because the notebook and code are clean, you'll actually be able to explain every part — which matters more than you think once the questions start.

Why CodeAj

You get every file — the notebook, the Flask app, the trained .pkl artifacts, the Groq integration, templates, and CSS. Not a stripped-down demo. We also include the college-format project report, and if the setup fights you, the project setup support gets you unstuck without the "have you tried reinstalling" runaround. Browse more machine learning projects with source code or the wider Python final year projects collection if you want to compare before you commit.

Frequently Asked Questions

You will get the complete source code along with an installation guide and chat support to help you set up and understand the project.
All our projects are thoroughly tested multiple times, so the code is completely error-free. But in case you still face any issue, you can reach out to us on WhatsApp (+91 8603862290) and we will fix it and provide you the updated code.
You can book a 1-on-1 Setup & Explanation Session where we connect via AnyDesk and Google Meet, set up the project on your laptop, and explain the complete code working and flow.
No, you cannot re-sell the project. This is completely illegal and a violation of our terms. If we find any such activity, we will take legal action.
Nope. It's a LinearSVC model, which is light. It trains in a few seconds and predicts instantly on a normal CPU. If your laptop runs Python 3, you're good.
You get all of it. The training notebook, app.py, utils.py, file_extract.py, the templates, the CSS, and the three trained .pkl files. We don't hold anything back.
Yeah, a college-format report comes with it. If you need it tweaked to your university's exact format, the mentorship and setup support can handle that too.
You can. Replace the CSV, open resume_screening.ipynb, and run all cells. It retrains and overwrites clf.pkl, tfidf.pkl, and encoder.pkl. The Flask app just loads whatever's in those files, so your new model is live immediately.
About 85% on the test split with LinearSVC. It beat KNN (around 79%) and Random Forest (around 74%). One thing worth knowing for your viva: the notebook drops duplicate resumes before splitting, so that number is real, not memorized.
The AI part is the text classification pipeline. Resume text becomes TF-IDF vectors, and a trained LinearSVC decides the category. That's supervised machine learning on real NLP features. You can walk through the whole thing in the notebook, phase by phase.
For the demo, local is fine. It runs on Flask's built-in dev server, which literally warns you it's not for production. To go live you'd run it behind Gunicorn with Nginx. Setup support can guide you if you want that.
Please do. Common additions: batch upload for multiple resumes, a downloadable results table, ranking candidates for one JD, or a simple login. The code's clean enough that bolting things on isn't painful.
Installation Guide

Extra Add-Ons Available – Elevate Your Project

Add any of these professional upgrades to save time and impress your evaluators.

Project Setup

We'll install and configure the project on your PC via remote session (Google Meet, Zoom, or AnyDesk).

Source Code Explanation

1-hour live session to explain logic, flow, database design, and key features.

Want to know exactly how the setup works? Review our detailed step-by-step process before scheduling your session.

999

Custom Documents (College-Tailored)

  • Custom Project Report: ₹1,500
  • Custom Research Paper: ₹1,000
  • Custom PPT: ₹800

Fully customized to match your college format, guidelines, and submission standards.

Project Modification

Need feature changes, UI updates, or new features added?

Charges vary based on complexity.

We'll review your request and provide a clear quote before starting work.

Project Files

GoogleReviews

What Our Students Say

4.9(38+ reviews)
Google review 1
Google review 2
Google review 3
Google review 4
Google review 5
Google review 6
Google review 7
Google review 8
Google review 9
Google review 10
Google review 11
Google review 12
Google review 13
Google review 14
Google review 15
Google review 16
Google review 17
Google review 18
Google review 19
Google review 20
Google review 21
Google review 22
Google review 23
Google review 24
Google review 25
Google review 26
Google review 27
Google review 28
Google review 29
Google review 30
Google review 31
Google review 32
Google review 33
Google review 34
Google review 35
Google review 36
Google review 37
Google review 38
⭐ 98% SUCCESS RATE
  • Full Development
  • Documentation
  • Presentation Prep
  • 24/7 Support
Chat with us