CVAlign is an AI-driven resume evaluation tool that assesses candidate CVs against job descriptions using Retrieval-Augmented Generation (RAG) and generative LLMs. It provides personalized feedback and a score based on the alignment between a candidate's resume and the job role.
- 📄 Upload resumes in PDF or DOCX formats
- 📌 Upload a job description to compare against
- 🤖 RAG-based LLM analysis to generate evaluation and feedback
- 📝 Score breakdown on key alignment factors
- 🌐 User-friendly React frontend
cv-align/
├── frontend/ # React-based frontend using Vite + Tailwind + shadcn
│ ├── src/
│ └── package.json # Flask backend for file processing and model inference
├── app.py
├── ml_logic/ # Custom ML logic for parsing, RAG, scoring
└── requirements.txt
├── README.md # Project README (you're here)
- Frontend: React, TailwindCSS, shadcn/ui, Vite
- Backend: Python (Flask), LangChain, FAISS, PyMuPDF, python-docx
- Model: LLM (via Ollama or OpenAI), RAG architecture
-
Create a virtual environment:
python -m venv venv source venv/bin/activate -
Install dependencies:
pip install -r requirements.txt
-
Run the main file:
python app.py
-
Navigate to the frontend folder:
cd frontend -
Install dependencies:
npm install
-
Start the development server:
npm run dev
Once both frontend and backend are running:
- Open http://localhost:5173 to access the UI
- Upload a resume and job description
- View the alignment score and AI-generated feedback
MIT License. See LICENSE file for details.
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
Created by Yavanash Sarma as part of a personal AI project.