
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.
Python | Flask | scikit-learn (TF-IDF + LinearSVC) | Groq API (LLaMA 3.3 70B) | NLTK | pdfplumber / python-docx
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.
Classifies resumes into 25+ job categories using TF-IDF + LinearSVC, with 85.3% accuracy on the held-out test split.
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.
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.
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.
Mobile-friendly design with a sticky navbar, hero sections, and modern styling across four pages — Home, Results, About, and Contact.
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?"
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.
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.
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.
Add any of these professional upgrades to save time and impress your evaluators.
We'll install and configure the project on your PC via remote session (Google Meet, Zoom, or AnyDesk).
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.
Fully customized to match your college format, guidelines, and submission standards.
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.
Reviews