Skip to content
All projects

Machine learning, 2025

Smart ATS

Upload a resume and paste a job description. Gemini scores the match, lists missing keywords and suggests what to fix before you apply.

Resume vs. job description

Example
PythonSQLNLPStreamlit
0%JD match

Missing keywords

DockerAirflowA/B testing

Overview

Most large employers screen resumes with an applicant tracking system before a person reads them. Smart ATS gives job seekers that same first pass, so they can close the gaps before they hit submit.

The problem

Candidates rarely know how well their resume matches a specific posting, or which keywords an ATS is looking for. Tailoring by hand for every job is slow and mostly guesswork.

What I did

  1. 1.Extracted text from multi-page PDF resumes with PyPDF2.
  2. 2.Prompted Gemini Pro to act as an experienced ATS for tech roles and return structured output: a match percentage, missing keywords, a profile summary and suggestions.
  3. 3.Showed the match score as a ring chart in a Streamlit app, deployed on Streamlit Cloud.

Results

  • A free, live tool anyone can use to check a resume against a job in seconds.

Next project

LLM-guided path planning