The Smart ATS (Applicant Tracking System) Analyzer is a comprehensive Streamlit-based web application designed to help job seekers optimize their resumes against specific job descriptions. Powered by Groq's Llama-3.1-8b-instant model, this tool provides detailed, actionable feedback to improve your resume's compatibility with Applicant Tracking Systems and enhance your chances of landing interviews.
Unlike basic keyword matching tools, this analyzer provides professional HR-level insights, personalized recommendations, and a beautiful, user-friendly interface with tabbed navigation for easy consumption of feedback.
- ATS Match Score: Realistic scoring out of 100 based on ATS compatibility
- JD Match Percentage: Precise alignment measurement with job requirements
- Keyword Gap Analysis: Identifies missing critical terms and skills
- Strength Recognition: Highlights existing qualifications that match the role
- Professional HR Perspective: 15+ years of recruiting experience simulation
- Actionable Feedback: Specific, implementable suggestions for improvement
- STAR Method Integration: Guidance on quantifying achievements effectively
- Industry-Specific Recommendations: Tailored advice based on job requirements
- Tabbed Interface: Organized presentation across Overview, Strengths, Improvements, and Recommendations
- Visual Score Display: Animated progress bars and gradient-styled score cards
- Responsive Design: Clean, professional UI with glassmorphism effects
- Export Functionality: Download complete analysis as text file
- Custom Professional Summary: Tailored 3-4 line summary optimized for the specific role
- Formatting Suggestions: Consistency and readability improvements
- Technical Skills Optimization: Strategic placement and presentation of capabilities
This application leverages Groq's Llama-3.1-8b-instant model for several key advantages:
- β‘ Lightning-Fast Processing: Groq's inference engine provides near-instantaneous responses
- π― High Accuracy: Advanced language understanding for nuanced resume analysis
- π° Cost-Effective: Efficient processing without compromising quality
- π§ Reliable API: Stable service with excellent uptime for production use
- π Structured Output: Consistent markdown formatting for professional presentation
The model excels at understanding context, providing constructive criticism, and generating human-like professional advice that rivals experienced HR consultants.
graph TD
A[π User Lands on Smart ATS Analyzer] --> B[π User Pastes Job Description]
B --> C[π User Uploads PDF Resume]
C --> D{β
Input Validation}
D -->|β Missing Info| E[β οΈ Show Warning Message]
E --> B
D -->|β
Valid Inputs| F[π Extract Text from PDF using PyPDF2]
F --> G{π Text Extraction Success?}
G -->|β Failed| H[π¨ Display Error Message]
G -->|β
Success| I[π§ Construct Detailed Analysis Prompt]
I --> J[π€ Send Request to Groq API]
J --> K{π API Response Status}
K -->|β Error| L[π₯ Show API Error]
K -->|β
Success| M[π Parse Response with Regex]
M --> N[π¨ Apply Custom CSS Styling]
N --> O[π Create Tabbed Interface]
O --> P[π Display Overview Tab - Scores & Progress]
P --> Q[πͺ Display Strengths Tab]
Q --> R[β οΈ Display Improvements Tab]
R --> S[π‘ Display Recommendations Tab]
S --> T[πΎ Provide Download Option]
T --> U[π Ready for New Analysis]
style A fill:#e1f5fe
style D fill:#fff3e0
style G fill:#fff3e0
style K fill:#fff3e0
style P fill:#e8f5e8
style Q fill:#e8f5e8
style R fill:#fff3e0
style S fill:#e3f2fd
graph LR
subgraph "Frontend Layer"
A[Streamlit UI]
B[Custom CSS Styling]
C[Tabbed Navigation]
end
subgraph "Processing Layer"
D[PDF Text Extraction]
E[Input Validation]
F[Prompt Engineering]
end
subgraph "AI Layer"
G[Groq API Client]
H[Llama-3.1-8b-instant]
I[Response Processing]
end
subgraph "Output Layer"
J[Regex Parsing]
K[Content Formatting]
L[File Export]
end
A --> D
D --> E
E --> F
F --> G
G --> H
H --> I
I --> J
J --> K
K --> A
B --> A
C --> A
K --> L
- Python 3.8 or higher
- pip package manager
streamlit
PyPDF2
python-dotenv
groq
-
Clone the Repository
git clone https://github.com/your-username/smart-ats-analyzer.git cd smart-ats-analyzer
-
Install Dependencies
pip install streamlit PyPDF2 python-dotenv groq
-
Configure Environment
- Create a
.env
file in the project root - Add your Groq API key:
GROQ_API_KEY=your_groq_api_key_here
- Get your API key from Groq Console
- Create a
-
Run the Application
streamlit run app.py
-
Access the App
- Open your browser to
http://localhost:8501
- Start analyzing your resume!
- Open your browser to
-
π Input Job Description
- Copy and paste the complete job description into the text area
- Include all requirements, qualifications, and job details
-
π Upload Your Resume
- Upload your resume in PDF format only
- Ensure the PDF contains selectable text (not scanned images)
-
π Start Analysis
- Click the "π Analyze Resume" button
- Wait for the AI processing to complete
-
π Review Results
- Overview Tab: View your ATS match score and JD alignment percentage
- Strengths Tab: See what's working well in your resume
- Improvements Tab: Identify missing keywords and critical areas for enhancement
- Recommendations Tab: Get personalized action items and a tailored professional summary
-
πΎ Export Results
- Download your complete analysis report
- Use the recommendations to update your resume
smart-ats-analyzer/
βββ π app.py # Main Streamlit application
βββ π requirements.txt # Python dependencies
βββ π .env # Environment variables (API keys)
βββ π README.md # Project documentation
βββ π¨ assets/ # Static assets (if any)
- Gradient Backgrounds: Beautiful purple-to-blue gradients
- Glassmorphism Effects: Translucent cards with backdrop blur
- Animated Elements: Subtle pulse animations for score displays
- Responsive Layout: Optimized for different screen sizes
- Tabbed Navigation: Organized content consumption
- Progress Indicators: Visual feedback during processing
- Error Handling: Clear error messages and troubleshooting
- Loading States: Spinner animations during analysis
- Temperature: 0.3 (balanced creativity and consistency)
- Max Tokens: 4000 (comprehensive responses)
- Model: llama-3.1-8b-instant (optimal speed-quality balance)
The application uses a carefully crafted prompt that:
- Simulates 15+ years of HR experience
- Provides structured markdown output
- Focuses on actionable, specific feedback
- Balances honesty with constructiveness
- π Multi-format Support: DOCX, TXT file compatibility
- π Multi-language Analysis: Support for non-English resumes
- π Historical Tracking: Save and compare multiple analyses
- π€ LinkedIn Integration: Direct profile import and analysis
- π± Mobile App: Native mobile application
- π― Industry Templates: Role-specific optimization suggestions
- π Analytics Dashboard: Usage statistics and insights
- π Enhanced Security: Advanced data protection measures
- β‘ Performance Optimization: Faster processing and caching
- π§ͺ A/B Testing: UI/UX optimization based on user feedback
PDF Not Reading Correctly:
- Ensure PDF contains selectable text (not scanned images)
- Try a different PDF or recreate from Word document
API Key Errors:
- Verify your Groq API key is correctly set in
.env
- Check API key validity at Groq Console
Slow Performance:
- Check internet connection
- Verify Groq API service status
Created with β€οΈ by Your Name
Connect with me:
- π GitHub: [github.com/SimranShaikh20]
This project is licensed under the MIT License - see the LICENSE file for details.
- Groq for providing fast and reliable AI inference
- Streamlit for the amazing web framework
- PyPDF2 for PDF processing capabilities
- The open-source community for continuous inspiration
If this tool helped you land your dream job, consider:
- β Starring this repository
- π Reporting bugs or suggesting features
Made with β€οΈ for job seekers worldwide π