Skip to content

Repository files navigation

⚑ Resume Analyser β€” AI-Powered Resume Analysis

Professional resume analysis tool powered by Groq AI and Gemini Vision

Streamlit Python Groq Gemini


πŸš€ Features

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

🎨 Screenshots

Hero Section

Modern, animated interface with smooth transitions and professional design.

Analysis Results

Comprehensive resume scoring with strengths, weaknesses, and actionable improvements.


πŸ—οΈ Architecture

Hybrid AI System

  • Groq AI (Primary): Text analysis with 14,400 requests/day
  • Gemini Vision (Fallback): OCR for scanned documents

Tech Stack

  • Frontend: Streamlit with custom CSS animations
  • AI Models: Llama 3.3 70B (Groq) + Gemini Flash (Google)
  • OCR: pdfplumber, pytesseract, Gemini Vision
  • PDF Generation: ReportLab

πŸ“¦ Installation

Prerequisites

  • Python 3.10 or higher
  • Groq API key (free, 14,400 requests/day)
  • Gemini API key (free, for OCR only)

Quick Start

# 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

Windows (PowerShell)

$env:GROQ_API_KEY="gsk_your_groq_key"
$env:GEMINI_API_KEY="your_gemini_key"
python -m streamlit run app.py

πŸ”‘ Getting API Keys

Groq API (Primary - High Quota)

  1. Visit console.groq.com
  2. Sign up (free, takes 30 seconds)
  3. Go to API Keys
  4. Create new key
  5. Copy key (starts with gsk_)

Quota: 14,400 requests/day (~2,000 resume analyses)

Gemini API (OCR Only)

  1. Visit Google AI Studio
  2. Create API key
  3. Copy key (starts with AIza)

Quota: 20 requests/day (only used for scanned documents)


πŸ“ Project Structure

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

🎯 Usage

Basic Analysis

  1. Upload resume (PDF, image, or DOCX)
  2. Click "Analyze Resume"
  3. View results: score, skills, improvements

Job Description Matching

  1. Upload resume
  2. Paste job description
  3. Get match percentage and missing skills

Career Roadmap

  1. Upload resume
  2. Enter target role (e.g., "Senior Data Scientist")
  3. Get personalized learning path with resources
  4. Download as PDF

πŸ“Š API Usage & Quotas

Per Resume Analysis

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

Daily Capacity (Free Tier)

  • Basic analysis: ~2,400 resumes/day
  • Full analysis: ~1,800 resumes/day

πŸš€ Deployment

Streamlit Cloud

  1. Push to GitHub
  2. Go to share.streamlit.io
  3. Connect repository
  4. Add secrets in Settings β†’ Secrets:
    GROQ_API_KEY = "gsk_your_key"
    GEMINI_API_KEY = "your_key"
  5. Deploy!

See DEPLOYMENT.md for detailed instructions.


πŸ”’ Security

  • βœ… API keys loaded from environment variables only
  • βœ… No API key input in UI
  • βœ… .env and secrets.toml in .gitignore
  • βœ… Ready for secure deployment
  • βœ… No sensitive data stored

πŸ› οΈ Development

Running Tests

# 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'))"

Code Quality

  • Clean, modular architecture
  • Type hints where applicable
  • Comprehensive error handling
  • No unused imports or dead code

πŸ“ License

This project is open source and available under the MIT License.


🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.


πŸ“§ Support

For issues or questions, please open an issue on GitHub.


🌟 Acknowledgments

  • 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.

About

No description, website, or topics provided.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages