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.