An AI-powered tool to analyze resumes against job descriptions using multiple LLM models for accurate candidate matching.
This application uses LLMs to evaluate candidate resumes against job requirements, providing detailed scoring and recommendations for hiring decisions.
It uses a structured workflow to analyze both job descriptions and resumes, extracting key information and providing comprehensive matching scores.
Here's a breakdown of the workflow:
- Job Description Analysis: The LLM analyzes the job description to identify mandatory skills and requirements.
- Resume Text Extraction: The system processes uploaded resumes (PDF/DOCX) to extract structured text content.
- Skills Evaluation: Mandatory and optional skills are evaluated against each candidate's experience.
- Multi-criteria Analysis: Each resume is scored across multiple dimensions:
- Overall fit score
- Mandatory skills matching
- Domain knowledge
- Relevant experience
- Best Match Selection: A specialized LLM evaluation identifies the most suitable candidate based on all criteria.
flowchart TD
A[Upload Job Description] --> B[Extract Mandatory Skills]
A --> C[Upload Resumes]
B --> D[Skills Analysis]
C --> D
D --> E[Multi-criteria Evaluation]
E --> F[Best Match Selection]
E --> G[Results Export]
- Multi-format document support:
- PDF parsing with PDF.js
- DOCX parsing with Mammoth.js
- Plain text fallback
- AI-powered analysis:
- Automatic skill extraction
- Experience evaluation
- Candidate scoring
- Customizable evaluation:
- Adjustable skill weightages
- Optional skills support
- Additional instructions
- Results management:
- Tabular results display
- CSV export functionality
- Best match recommendations
- Dark mode support with auto/light/dark theme options
- Upload a job description file (PDF/DOCX)
- Review and customize extracted mandatory skills
- Add optional skills and additional instructions
- Upload candidate resumes (multiple files supported)
- Click "Analyse Resumes" to process candidates
- Review detailed results in the table
- Export results as CSV or get best match recommendation
- Modern web browser with JavaScript enabled
- Access to LLM Foundry API endpoints
- Clone this repository:
git clone https://github.com/gramener/resumeanalyzer.git
cd resumeanalyzer
- Serve the files using any static web server. For example, using Python:
python -m http.server
- Open
http://localhost:8000
in your web browser
- Frontend: Vanilla JavaScript with Bootstrap UI
- Document Processing: PDF.js and Mammoth.js
- LLM Integration: OpenAI GPT-4 through LLM Foundry API
- Styling: Bootstrap 5.3.3 with dark mode support
- Bootstrap - UI framework and styling
- Bootstrap Icons - Icon system
- Mammoth.js - DOCX processing
- PDF.js - PDF processing
- Gramex UI - Dark theme support
Uses OpenAI's GPT-4 models through LLM Foundry for:
- Skill extraction from job descriptions
- Resume analysis and scoring
- Best match determination
- Final recommendations