A smart resume enhancement tool that analyzes resumes, extracts skills, compares them with job descriptions, calculates match percentage, and gives improvement suggestions — powered by FastAPI, Streamlit, and Machine Learning.
- 🧠 Classifies resumes by job category using ML
- 🧾 Extracts relevant skills from resumes & job descriptions
- 🧮 Calculates match percentage (how well a resume fits a job)
- ❌ Shows missing skills
- 💡 Gives actionable suggestions to improve your resume
- 📄 Accepts both text input and PDF uploads
- Resumes and job descriptions are input via text or file
- Text is preprocessed and compared using a custom skill matcher
- A match percentage is calculated based on skill overlap
- Suggestions are generated to improve the match
- Results are displayed in a beautiful Streamlit UI
| Layer | Tech |
|---|---|
| 💻 Backend | FastAPI (Python) |
| 🤖 ML Model | TF-IDF + Classifier (resume_classifier.pkl) |
| 📊 Matching Logic | Custom skill extractor & matcher |
| 🎨 Frontend | Streamlit |
| 📄 File Processing | PyMuPDF for PDF parsing |
| 📚 Skills DB | Hardcoded list (extensible to file/DB) |
git clone https://github.com/yourusername/resumeparser.git
cd resumeparser
python -m venv .venv
venv\Scripts\Activate # on Windows
pip install -r requirements.txt
--
uvicorn app.main:app --reload
Runs on http://127.0.0.1:8000
🖼️ Start the Frontend (Streamlit UI) Open a new terminal:
streamlit run streamlit_ui/app.py
UI runs on http://localhost:8501
Once everything runs: Upload or paste a resume and job description Get:
✅ Match Percentage (with a progress bar)
🎯 Matched Skills
❌ Missing Skills
💡 Suggestions to Improve