Bodyless's picture
Update README.md
fdda0ba verified
|
Raw
History Blame Contribute Delete
3.75 kB
---
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`](https://huggingface.co/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:**
```bash
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
---
<p align="center">
<b>Made with โค๏ธ and Transformers ๐Ÿค–</b><br>
<i>Land your dream job, one keyword at a time! ๐Ÿ“„โœจ</i>
</p>