⭐ If you find this project helpful, please star it! It helps other developers discover this tool.
Privacy-focused, local-first platform that parses resumes, matches them with job descriptions, and provides AI-driven improvement suggestions using local LLMs.
- 📄 Resume Parser: Extracts contact info, skills, experience, and education from PDF/DOCX using SpaCy & Custom Rules.
- 🎯 Job Matching Engine: Calculates compatibility scores using TF-IDF (keywords) and Sentence Transformers (semantic meaning).
- 💡 AI Suggestions: Privacy-preserving local AI (Ollama/Llama 3.2) analyzes gaps and suggests improvements.
- 📊 Interactive Dashboard: 3D Skill Graphs (Three.js) and ATS Compatibility Scores.
- 🔒 100% Local: No data leaves your machine. No API keys required.
- Framework: FastAPI (Python 3.12)
- NLP/ML: SpaCy (
en_core_web_trf), Sentence-Transformers (all-MiniLM-L6-v2), Scikit-learn - Database: PostgreSQL (SQLAlchemy ORM)
- AI Integration: Ollama (Llama 3.2)
- Framework: React 18 + Vite + TypeScript
- Styling: Tailwind CSS
- Visualization: React Three Fiber (Three.js), Recharts
- Icons: Lucide React
- Python 3.12+
- Node.js 18+
- PostgreSQL
- Ollama (running locally)
Ensure Ollama is running and pull the model:
ollama pull llama3.2cd backend
# Create virtual environment
python -m venv venv
# Activate (Windows)
venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Download NLP model
python -m spacy download en_core_web_trf
# Run Server
uvicorn app.main:app --reloadServer running at http://localhost:8000
cd frontend
npm install
npm run devClient running at http://localhost:5173
- Open the Frontend.
- Upload your Resume (PDF/DOCX).
- Paste a Job Description.
- View your Match Score, Missing Skills, and AI Suggestions.
Want to try the app without setting up locally? You can access the live demo here:
- Live Demo: Resume-AI Demo
- Note: For full functionality, the backend server must be running locally. This demo connects to your local backend.
- Clone the repository and run the backend server (see Backend Setup above)
- Visit the Live Demo Link
- Upload your resume and job description
- The frontend will communicate with your local backend API
Issues and Pull Requests are welcome!
- Privacy First: Your resume data NEVER leaves your computer
- No API Costs: Run everything offline with local LLMs
- Job Search Ready: Perfect for optimizing resumes for ATS systems
- Developer Friendly: Built with React + FastAPI for easy customization
- 100% Open Source: MIT licensed, contributions welcome!
- 🎯 Job Seekers: Analyze your resume against multiple job descriptions
- 📝 Career Changers: Identify skill gaps and get AI-powered suggestions
- 🤖 Researchers: Study NLP/ML techniques in resume parsing
- 💼 HR Professionals: Understand ATS scoring for better hiring
| Feature | Resume AI | Other Tools |
|---|---|---|
| Privacy | 100% Local | Cloud-based |
| Cost | Free (Open Source) | Paid/Freemium |
| AI Suggestions | Local LLM (Llama) | GPT API |
| Customizable | Full source available | Limited |
| Data Security | Complete | Third-party dependent |
- 📖 Full Documentation
- 🐛 Report Issues
- 💡 Feature Requests
- ⭐ Star this repo if you find it useful!