Professional resume analysis tool powered by Groq AI and Gemini Vision
| Feature | Description |
|---|---|
| π Smart Upload | PDF (text + scanned), PNG/JPG, DOCX support |
| π Hybrid OCR | pdfplumber β pytesseract β Gemini Vision fallback |
| π§ AI Analysis | Resume cleanup, skill extraction, scoring (0-100) |
| π ATS Check | Applicant Tracking System compatibility analysis |
| β‘ Skill Extraction | Technical skills, soft skills, tools, experience |
| βοΈ Improvements | Section tips, bullet rewrites, action verbs |
| π― JD Matching | Match %, missing skills, ATS keyword gaps |
| πΊοΈ Career Roadmap | Beginner β Advanced with resources + PDF download |
Modern, animated interface with smooth transitions and professional design.
Comprehensive resume scoring with strengths, weaknesses, and actionable improvements.
- Groq AI (Primary): Text analysis with 14,400 requests/day
- Gemini Vision (Fallback): OCR for scanned documents
- Frontend: Streamlit with custom CSS animations
- AI Models: Llama 3.3 70B (Groq) + Gemini Flash (Google)
- OCR: pdfplumber, pytesseract, Gemini Vision
- PDF Generation: ReportLab
- Python 3.10 or higher
- Groq API key (free, 14,400 requests/day)
- Gemini API key (free, for OCR only)
# Clone repository
git clone https://github.com/yourusername/resume-analyser.git
cd resume-analyser
# Install dependencies
pip install -r requirements.txt
# Set API keys
export GROQ_API_KEY="gsk_your_groq_key"
export GEMINI_API_KEY="your_gemini_key"
# Run app
streamlit run app.py$env:GROQ_API_KEY="gsk_your_groq_key"
$env:GEMINI_API_KEY="your_gemini_key"
python -m streamlit run app.py- Visit console.groq.com
- Sign up (free, takes 30 seconds)
- Go to API Keys
- Create new key
- Copy key (starts with
gsk_)
Quota: 14,400 requests/day (~2,000 resume analyses)
- Visit Google AI Studio
- Create API key
- Copy key (starts with
AIza)
Quota: 20 requests/day (only used for scanned documents)
resume-analyser/
βββ ai/
β βββ gemini_client.py # Gemini Vision API client
β βββ groq_client.py # Groq text generation client
β βββ hybrid_client.py # Smart routing between APIs
β βββ prompts.py # AI prompt templates
βββ ocr/
β βββ pdf_text_extractor.py # PDF text extraction
β βββ image_ocr.py # Image OCR with fallbacks
βββ utils/
β βββ file_handler.py # File type detection
β βββ pdf_generator.py # Career roadmap PDF export
βββ .streamlit/
β βββ secrets.toml.example # Secrets template
βββ app.py # Main Streamlit application
βββ requirements.txt # Python dependencies
βββ .gitignore # Git ignore rules
βββ DEPLOYMENT.md # Deployment guide
βββ GROQ_SETUP.md # Groq setup instructions
βββ README.md # This file
- Upload resume (PDF, image, or DOCX)
- Click "Analyze Resume"
- View results: score, skills, improvements
- Upload resume
- Paste job description
- Get match percentage and missing skills
- Upload resume
- Enter target role (e.g., "Senior Data Scientist")
- Get personalized learning path with resources
- Download as PDF
| Feature | Groq Calls | Gemini Calls | Total |
|---|---|---|---|
| Basic (no JD, no roadmap) | 5 | 0-1* | 5-6 |
| With Job Description | 6 | 0-1* | 6-7 |
| With Career Roadmap | 6 | 0-1* | 6-7 |
| Full Analysis (JD + Roadmap) | 7 | 0-1* | 7-8 |
*Gemini only used if resume is scanned/image
- Basic analysis: ~2,400 resumes/day
- Full analysis: ~1,800 resumes/day
- Push to GitHub
- Go to share.streamlit.io
- Connect repository
- Add secrets in Settings β Secrets:
GROQ_API_KEY = "gsk_your_key" GEMINI_API_KEY = "your_key"
- Deploy!
See DEPLOYMENT.md for detailed instructions.
- β API keys loaded from environment variables only
- β No API key input in UI
- β
.envandsecrets.tomlin.gitignore - β Ready for secure deployment
- β No sensitive data stored
# Test Groq client
python -c "from ai.groq_client import GroqClient; print(GroqClient('your_key').generate('Hello'))"
# Test Gemini client
python -c "from ai.gemini_client import GeminiClient; print(GeminiClient('your_key').generate('Hello'))"- Clean, modular architecture
- Type hints where applicable
- Comprehensive error handling
- No unused imports or dead code
This project is open source and available under the MIT License.
Contributions are welcome! Please feel free to submit a Pull Request.
For issues or questions, please open an issue on GitHub.
- Groq for providing high-quota free AI API
- Google for Gemini Vision API
- Streamlit for the amazing web framework
- Open source community for various libraries used
Built with Responsibility π
AI-powered resume analysis for everyone, completely free.