A powerful resume analysis tool that compares candidate resumes against job descriptions using AI to provide detailed insights and rankings. Built by Mercity-AI.
Read the full detailed guide on how to build such an AI Automated ATS system on our blog here: https://www.mercity.ai/blog-post/build-an-llm-based-resume-analyzer
-
Real-time Analysis:
- Process multiple resumes simultaneously
- Live progress tracking
- Instant results display
-
Smart Matching:
- AI-powered comparison of resumes against job requirements
- Detailed requirement matching
- Percentage-based scoring system
-
Comprehensive Analysis:
- Technical skills assessment
- Core responsibility matching
- Qualitative evaluation of experience
- Project gravity analysis
- Candidate fit scoring
- Recruiter-style summaries
-
Interactive Results:
- Clean, modern UI with expandable sections
- Percentage match scores
- Detailed requirement breakdowns
- Final recommendations with key factors
- Color-coded qualitative assessments
-
Export Functionality:
- Download complete analysis results as CSV
- Structured data export for further processing
- Python 3.8 or higher
- OpenAI API key
- Git
- Clone the repository:
git clone https://github.com/Mercity-AI/Resume-Analyzer.git
cd Resume-Analyzer- Install required packages:
pip install -r requirements.txt- Set up your environment variables (optional):
- Create a
.envfile in the root directory - Add your OpenAI API key:
- Create a
OPENAI_API_KEY=your_api_key_here
- Note: You can also enter your API key directly in the application
- Start the Streamlit app:
streamlit run app.py- Open your browser and navigate to the displayed URL (typically
http://localhost:8501)
-
API Key Setup
- Enter your OpenAI API key when prompted
- The key will be verified before proceeding
- You can change the API key at any time
-
Model Selection
- Choose your preferred primary model for job description analysis
- Select a reasoning-focused model for resume evaluation
- Update models as needed during usage
-
Job Description Analysis
- Paste the job description
- Click "Analyze Job Description"
- Review and edit extracted requirements if needed
-
Resume Analysis
- Upload one or more resumes (PDF, DOCX, or TXT)
- Click "Analyze Resumes"
- View real-time analysis progress
- Review detailed results for each candidate
-
Results Review
- Examine detailed matching scores
- Review qualitative assessments
- Read recruiter-style summaries
- Check final recommendations
- Export results to CSV if needed
- API keys are securely handled and not stored permanently
- All analysis is performed through secure API calls
- No resume data is stored after analysis
The analysis provides:
- Overall match percentage
- Technical skills assessment
- Core responsibilities matching
- Experience and qualification verification
- Project evaluation
- Detailed recommendations
- Exportable CSV report
Contributions are welcome! Please feel free to submit a Pull Request.
-
Requirements Match:
- Must-have technical skills
- Core responsibilities
- Experience requirements
- Qualifications
-
Qualitative Assessment:
- Project gravity
- Ownership and initiative
- Role transferability
- Strengths and weaknesses
-
Final Evaluation:
- Match percentage
- Recruiter summary
- Final recommendation
- Key factors for decision
- Built with Streamlit for the user interface
- Uses OpenAI's GPT models for analysis
- Supports PDF, DOCX, and TXT file formats
- Real-time processing and display
- Session state management for consistent results
The exported CSV includes detailed columns for:
- Contact information
- Technical skills assessment
- Core responsibility matching
- Additional skills evaluation
- Screening criteria results
- Qualitative assessments
- Final recommendations
- OpenAI for providing the AI models
- Streamlit for the amazing web framework
- All contributors and users of this project
