A complete, production-quality ATS Resume Checker & Job Match Analyzer web application that runs 100% locally on your machine.
🔒 100% Local & Private: No API keys, no OpenAI, no Gemini, no Claude, no OpenRouter, or external LLM APIs required. All resume parsing, keyword extraction, and semantic matching run locally using open-source Python NLP libraries and local embedding models.
- 📄 Document Parsing: Supports PDF (
PyMuPDF) and DOCX (python-docx) format parsing. - 🔍 Hard & Soft Skill Extractor: Taxonomy-driven skill extractor with alias resolution and fuzzy string matching (
RapidFuzz). - 🧠 Local Semantic Similarity: Uses
sentence-transformers(all-MiniLM-L6-v2) andscikit-learncosine similarity to measure contextual alignment between resume experience and job descriptions. - 🛡️ ATS Readability & Formatting Check: Scans for non-standard tables, text boxes, page count, word count, section header completeness, and formatting warnings.
- 📊 8-Factor Weighted Scoring:
- Exact Skill Match (25%)
- Semantic Context Match (25%)
- ATS Format Readability (15%)
- Hard Requirement Coverage (10%)
- Action Verb Density (10%)
- Bullet Point Quantification (5%)
- Section Completeness (5%)
- Phrase Repetition (5%)
- 🎨 Sleek Dark Blue Interface: Modern React frontend built with Vite, Tailwind CSS, Lucide icons, and Recharts visualization charts.
- Framework: React.js + Vite
- Styling: Tailwind CSS (Dark Blue Midnight Theme)
- Icons: Lucide React
- Charts: Recharts
- HTTP Client: Axios
- Notifications: React Hot Toast
- Framework: Python + FastAPI + Uvicorn
- Parsing: PyMuPDF (
fitz), python-docx - NLP & Text Processing: spaCy, RapidFuzz, Regular Expressions
- Semantic Embeddings:
sentence-transformers(all-MiniLM-L6-v2),scikit-learn - Validation: Pydantic v2
- Node.js (v18+) & npm
- Python (v3.10+) & pip
git clone https://github.com/Kishore-Procode/Local_Resume_Checker.git
cd Local_Resume_Checkercd backend
python -m pip install -r requirements.txt
python -m uvicorn app.main:app --host 127.0.0.1 --port 8000 --reloadThe FastAPI backend will be available at: http://127.0.0.1:8000 (Swagger API docs at http://127.0.0.1:8000/docs).
In a new terminal:
cd frontend
npm install
npm run devThe Vite frontend will be available at: http://localhost:5173/
All processing is performed locally on your device. No candidate data, resume text, or job descriptions are transmitted over the internet or saved to external servers.
MIT License. Free for personal and commercial use.