aadhamashraf/CareerMatch-AI
An AI-powered platform for automated CV parsing, explainable job matching, skill gap analysis, and bias auditing—running entirely locally with Ollama.
CareerMatch AI
A Unified AI-Driven Career Assistant
CareerMatch AI is an intelligent platform designed to bridge the gap between job seekers and their dream roles. It leverages local Large Language Models (LLMs) to parse CVs, analyze job fit, and provide personalized career guidance—all while maintaining data privacy by running entirely on your local machine.
🚀 Features
- 📄 AI CV Parser: Automatically extracts structured data (skills, experience, education) from PDF resumes using local LLMs (Ollama).
- 🎯 Job Fit Scorer: Evaluates your CV against specific job descriptions, providing a relevance score and actionable feedback.
- 🌳 Skill Tree & Gap Analysis: Visualizes your current skills and identifies what you need to learn next.
- 💡 Adaptive Recommendations: Suggests micro-projects, courses, and resources tailored to close your skill gaps.
- ⚖️ Bias & Fairness Audit: Checks candidate data for potential biases to ensure equitable hiring practices.
- 🧠 Knowledge Graph: dynamic mapping of skills, roles, and learning resources.
- 🗺️ Career Roadmaps: Generates step-by-step plans to reach your target career goals.
🛠️ Technology Stack
- Frontend: React, TypeScript, Vite, Tailwind CSS
- Backend: Python, FastAPI
- AI/LLM: Ollama (running
mistralmodel locally) - PDF Processing: PyMuPDF
- Data Processing: Pandas, Scikit-learn
📋 Prerequisites
Before you begin, ensure you have the following installed:
- Python 3.10+: Download Python
- Node.js 18+: Download Node.js
- Ollama: Download Ollama
- Once installed, run:
ollama pull mistralto download the required model.
- Once installed, run:
⚡ Getting Started
1. Backend Setup
The backend is built with FastAPI and handles all the heavy lifting for CV parsing and AI analysis.
# Navigate to the project root
cd CareerMatch-AI
# Create a virtual environment (optional but recommended)
python -m venv venv
# Windows:
venv\Scripts\activate
# Mac/Linux:
source venv/bin/activate
# Install dependencies
pip install -r backend/requirements.txt
# Start the server
uvicorn backend.main:app --reloadThe API will be available at http://localhost:8000. API Docs: http://localhost:8000/docs.
2. Frontend Setup
The frontend is a modern React application.
# Open a new terminal and navigate to the UI folder
cd uiCareerMatch
# Install dependencies
npm install
# Start the development server
npm run devThe application will be running at http://localhost:5173.
📂 Project Structure
backend/: FastAPI application, endpoints, and services.services/: Core logic extracted from notebooks (e.g., CV parsing).
uiCareerMatch/: Frontend React application.src/components/: UI components (CVParser, Dashboard, etc.).src/services/: API integration.
ai-features/: Original research notebooks and feature prototypes.tools/: Utility scripts (e.g.,notebook_to_script.pyfor converting experimental notebooks to production code).integrator/: Orchestration logic for various AI features.
🤝 Contributing
This project is modular by design. Feel free to explore the ai-features directory, convert interesting notebooks into Python scripts using the tool in tools/, and integrate them into the backend/ and uiCareerMatch/ components.
- Pick a feature from
ai-features. - Convert it to a script using
python tools/notebook_to_script.py <path_to_notebook>. - Refactor it into a service in
backend/services/. - Expose it via a new endpoint in
backend/main.py. - Build a frontend component to visualize it.
📄 License
MIT License (or appropriate license)