🎯 A next-gen ATS assistant that helps job seekers beat the resume screening process using AI-powered parsing and matching.
No more guessing — JobFit AI tells you:
- ✅ Which skills to highlight
⚠️ What’s missing from your resume- 💡 How to rephrase bullets for ATS
- 📊 Your real match score (70–90%, not inflated)
Powered by Google Gemini 2.5 Flash and modern NLP.
| Feature | Description |
|---|---|
| 📄 Resume Parsing | Extracts skills, experience, education from PDF using LLMs |
| 📋 Job Description Analysis | Parses requirements with context-aware LLM parsing |
| 🔍 Smart Matching | Semantic comparison, not keyword counting |
| 💬 AI Suggestions | Generates ATS-friendly bullet points to add |
| 🔤 AI Bullet Rewriter | Improve weak bullets with context-aware rewriting |
| 🌐 Web UI | Streamlit frontend + FastAPI backend |
| 🐳 Docker Ready | Containerized for easy deployment |
- Frontend: Streamlit (Python)
- Backend: FastAPI
- LLM: Google Gemini 2.5 Flash
- PDF Parsing:
pdfplumber - DevOps: Docker, GitHub Actions
- Database: SQLite (MVP), PostgreSQL (future)
python -m venv venv
source venv/bin/activate # Linux/Mac
# venv\Scripts\activate # Windows
pip install -r requirements.txt- Go to Google AI Studio
- Create API key
- Export it:
export GEMINI_API_KEY="your_key_here"uvicorn backend.main:app --reload --port=8000streamlit run frontend/app.py👉 Open http://localhost:8501
Job: Senior ML Scientist (5+ years, PyTorch, NLP, MLOps)
Resume: Alibek Erkabayev (10+ years, Python, TensorFlow, AWS)
Output:
- Match Score: 70%
- Feedback: "Add fine-tuning (LoRA, QLoRA), anomaly detection"
- Suggestions: "Fine-tuned LLMs using LoRA for efficient deployment..."
| Issue | Status |
|---|---|
| 🔢 Match score calculation may not reflect structured feedback | Next Priority |
| Feature | Status |
|---|---|
| 🔤 AI Bullet Rewriter | Done |
| 📤 Export Optimized Resume | Next |
| 🧩 Chrome Extension | Planned |
| ☁️ Deploy to Railway/Render | Future |
PRs welcome! Just:
- Create a feature branch
- Add tests if possible
- Submit PR to
main
MIT