An AI-powered Applicant Tracking System that analyzes resumes against job descriptions to find the best matches using large language models.
- PDF extraction and processing for both resumes and job descriptions.
- Advanced document analysis using Ollama LLMs
- Skills matching and scoring
- Education and experience validation
- Improvement suggestions for candidates
- Clean API design with FastAPI
- Containerized deployment with Docker
Server: FastAPI
AI/ML Ollama models(llama3.2)
Package manager uv
Testing pytest
- Python 3.12+
- Ollama running locally or accessible via network
- Docker (optional, for containerized deployment)
Clone the project
git clone https://github.com/Csb-218/Rescan.gitGo to the project directory
cd rescan uv venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activateInstall dependencies
uv sync --locked --no-install-projectStart the server
fastapi run Build image
docker build -t rescan .Run the container
docker run -p 8000:8000 rescanTo run this project, you will need to add the following environment variables to your .env file
OLLAMA_BASE_URL
/analyze/advanced
Analyzes a resume against a job description using advanced LLM matching.
Method: POST
Parameters:
jd: Job description file (PDF)
resume: Resume file (PDF)
Returns: JSON with match details, skills comparison, and suggestions
-
Start the application
-
Send a POST request to /analyze/advanced with both resume and job description PDFs.
-
Receive detailed analysis including:
-> Skills matching
-> Experience validation
-> Education requirements check
-> Overall match score
-> Improvement suggestions
To run tests, run the following command
pytest Contributions are always welcome!
Please feel free to submit a Pull Request.

