Resume Analyzer is a Python project that leverages AI to parse resumes (PDF/DOCX) and evaluate them against job descriptions.
It extracts structured information such as skills, education, and experience, calculates match scores, highlights missing skills, and ranks candidates.
This tool helps recruiters shortlist faster and job seekers benchmark their resumes.
mindmap
root((Resume Analyzer))
Job Description Parser
Extract role
Required skills
Education
Responsibilities
Resume Parser
PDF parsing
DOCX parsing
Skills extraction
Experience extraction
Matching Engine
Compare resume vs job
Calculate match %
Identify missing skills
Rank candidates
Output
Top candidates
Lowest candidates
Final verdict
The project is divided into clear modules:
-
Job Description Parser
- Converts raw job descriptions into structured JSON using LLMs.
- Captures role, required skills, education, and responsibilities.
-
Resume Parser
- Reads resumes in PDF/DOCX format using
pypdfandpython-docx. - Extracts candidate details (skills, education, experience, projects).
- Normalizes data into a consistent schema.
- Reads resumes in PDF/DOCX format using
-
Matching Engine
- Compares resume data against job requirements.
- Calculates match percentage, identifies missing skills, and generates verdicts.
- Outputs top and lowest candidates.
-
Error Handling
- Skips corrupted/unreadable files gracefully.
- Ensures batch processing continues without interruption.
- Python
python-docx→ DOCX parsingpypdf→ PDF parsingpython-dotenv→ API key managementgroq→ LLM-powered analysispydantic→ Data models & validation
Clone the repository and install dependencies:
git clone https://github.com/hrithik0408/Resume_Analyzer.git
cd Resume_Analyzer
pip install -r requirements.txtThis project uses the Groq API for AI-powered resume and job description analysis.
To run the project, you need to set your API key in a .env file.
- Create a file named
.envin the root of the project. - Add your API key like this: