This project implements a Resume Application Tracking System (ATS) using Google Gemini Pro Vision. The system processes resumes, extracts key information, and evaluates candidates based on job descriptions using AI-powered analysis.
- Upload resumes (PDF, DOCX, TXT formats)
- Extract and analyze resume content using Google Gemini Pro Vision
- Compare resumes against job descriptions for relevancy scoring
- Provide structured insights such as skills, experience, and education
- Automated ranking of candidates based on job fit
- API support for integration with HR systems
- Google Gemini Pro Vision (AI-based document processing)
- Python (Backend processing)
- FastAPI / Flask (API implementation)
- LangChain (AI-powered resume analysis)
- PyMuPDF / pdfplumber (PDF text extraction)
- Tesseract OCR (For scanned resumes)
- OpenAI Embeddings (For semantic search and matching)
- Streamlit / ReactJS (Frontend for user interaction)
Ensure you have the following installed:
- Python 3.8+
- pip
- Tesseract OCR (for scanned resume support)
- Clone the repository:
git clone https://github.com/Lucky-akash321/Resume-Application-Tracker-System-ATS-using-Gemini-Pro-Vision cd resume-ats-gemini
- Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
- Install dependencies:
pip install -r requirements.txt
- Set up Google Gemini Pro Vision API access (update
config.py
with API keys).
- Start the API server:
python app.py
- Access the frontend:
streamlit run frontend.py
- Upload a resume and job description to analyze candidate fit.
import requests
url = "http://localhost:8000/match"
data = {
"resume_id": "12345",
"job_description": "Data Scientist with Python and Machine Learning experience."
}
response = requests.post(url, json=data)
print(response.json())
- Multi-resume comparison for bulk hiring
- Advanced NLP-based skill extraction
- Integration with LinkedIn and job portals
This project is licensed under the MIT License.