Bodyless's picture
Update README.md
fdda0ba verified
|
Raw
History Blame Contribute Delete
3.75 kB

A newer version of the Streamlit SDK is available: 1.61.1

Upgrade
metadata
title: ATS Resume Optimizer
emoji: ๐Ÿ“„
colorFrom: red
colorTo: indigo
sdk: streamlit
sdk_version: 1.58.0
app_file: src/streamlit_app.py
pinned: false

๐Ÿ“„ ATS Resume Optimizer

An AI-powered tool that analyzes your resume against any job description and tells you how well it matches โ€” plus what keywords you're missing. Built with Streamlit, MiniLM embeddings, and spaCy NLP.


๐Ÿš€ Try It Now

Paste your resume and a job description. Get an instant ATS match score and keyword suggestions.

No signup required. Runs entirely in your browser.


โœจ What It Does

Feature How It Helps
๐Ÿง  Semantic Matching Understands meaning, not just keyword counting. "Led team" and "managed group" score the same.
๐Ÿ” Keyword Gap Analysis Extracts skills, tools, and responsibilities from the job description and shows what's missing from your resume.
๐Ÿ“Š ATS Score (0-100%) Clear match percentage with color-coded feedback: ๐ŸŸข High (>75%), ๐ŸŸก Medium (50-75%), ๐Ÿ”ด Low (<50%).
๐Ÿ“ 5 Demo Profiles Test instantly with pre-loaded resumes for Data Scientist, Frontend Dev, PM, Marketing, and ML Engineer.

๐Ÿ› ๏ธ How It Works

Resume + Job Description
         โ†“
   [MiniLM Transformer]
         โ†“
   Embedding Vectors
         โ†“
   Cosine Similarity โ†’ ATS Score
         โ†“
   [spaCy NLP] โ†’ Missing Keywords
         โ†“
   Feedback + Suggestions

Model: sentence-transformers/all-MiniLM-L6-v2 โ€” 22MB, fast on CPU, trained on 1B+ sentence pairs.


๐Ÿ“Š Example Output

Input: Senior Data Scientist resume vs. matching job description

Result:

  • ๐ŸŸข ATS Match Score: 87% โ€” HIGH MATCH. Ready to submit!
  • ๐Ÿ“ Missing Keywords: stakeholder, a/b testing, kubernetes (consider adding these)

๐ŸŽฎ Quick Start

  1. Select a demo from the sidebar (or paste your own text)
  2. Paste your resume in the left box
  3. Paste the job description in the right box
  4. Click "Analyze" and get instant feedback

๐Ÿ—๏ธ Tech Stack

Component Technology
UI Streamlit
Embeddings MiniLM-L6-v2 (Hugging Face)
NLP spaCy en_core_web_sm
Backend PyTorch

๐Ÿ“ Repo Structure

โ”œโ”€โ”€ src/
โ”‚   โ””โ”€โ”€ streamlit_app.py      # Main app
โ”œโ”€โ”€ Dockerfile                # Container config
โ”œโ”€โ”€ requirements.txt          # Dependencies
โ””โ”€โ”€ README.md                 # This file

๐ŸŒ Deployment

This Space runs on Hugging Face's free tier. MiniLM auto-downloads on first launch (~22MB). No GPU needed.

To run locally:

git clone https://huggingface.co/spaces/yourusername/ats-resume-optimizer
cd ats-resume-optimizer
pip install -r requirements.txt
python -m spacy download en_core_web_sm
streamlit run src/streamlit_app.py

๐Ÿ“ Notes

  • Privacy: All text processing happens locally in the Space. No data is stored or sent to external APIs.
  • First Load: May take 10-20 seconds on first visit while MiniLM downloads.
  • spaCy Model: Downloaded at build time via Dockerfile.

๐Ÿ”ฎ Roadmap

  • PDF resume upload
  • Section-by-section comparison (Skills vs Skills, Experience vs Requirements)
  • AI-powered rewrite suggestions (GPT integration)
  • Chrome extension for LinkedIn/Indeed job descriptions

๐Ÿ‘ค Author

Muhammad Ibtihaj โ€” ML Engineer & Full-Stack Developer


Made with โค๏ธ and Transformers ๐Ÿค–
Land your dream job, one keyword at a time! ๐Ÿ“„โœจ