A Streamlit-based web application that uses Google's Gemini AI to analyze resumes against job descriptions, providing insights for ATS (Applicant Tracking System) optimization.
This application helps job seekers analyze their resumes against specific job descriptions using AI-powered analysis. It provides three types of feedback:
- Resume analysis and alignment with job requirements
- Improvement suggestions for better job matching
- ATS percentage match scoring
- PDF Resume Upload: Support for multi-page PDF resumes
- AI-Powered Analysis: Uses Google's Gemini 1.5 Flash model
- Three Analysis Types:
- Resume Analysis & Job Alignment
- Improvement Suggestions
- ATS Match Score Calculation
- Multi-Page Support: Processes complete resumes across all pages
- User-Friendly Interface: Clean Streamlit web interface
- Python 3.12+
- Streamlit - Web interface
- Google Generative AI (Gemini) - AI analysis
- pdf2image - PDF processing
- Pillow (PIL) - Image processing
- python-dotenv - Environment variable management
- Python 3.12 or higher
- Poppler (required for pdf2image):
- macOS:
brew install poppler - Windows: Download from Poppler for Windows
- Linux:
sudo apt-get install poppler-utils
- macOS:
-
Clone the repository:
git clone <repository-url> cd ATS-LLM
-
Create and activate virtual environment:
python -m venv .venv # On macOS/Linux: source .venv/bin/activate # On Windows: .venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Set up environment variables:
- Create a
.envfile in the project root - Add your Google API key:
GOOGLE_API_KEY=your_google_api_key_here
- Create a
-
Get Google API Key:
- Visit Google AI Studio
- Create a new API key for Gemini
- Add it to your
.envfile
-
Start the application:
streamlit run app.py
-
Open your browser and navigate to
http://localhost:8501 -
Use the application:
- Enter the job description in the text area
- Upload your resume as a PDF file
- Choose one of the three analysis options:
- "Tell me about resume" - General analysis
- "How can I improve my resume?" - Improvement suggestions
- "ATS percentage match" - Score calculation
ATS-LLM/
├── app.py # Main Streamlit application
├── requirements.txt # Python dependencies
├── .env # Environment variables (create this)
├── .venv/ # Virtual environment
└── README.md # Project documentation
The application uses the following environment variables:
GOOGLE_API_KEY: Your Google Generative AI API key
- Fork the repository
- Create a feature branch (
git checkout -b feature/new-feature) - Commit your changes (
git commit -am 'Add new feature') - Push to the branch (
git push origin feature/new-feature) - Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Situm Mohanty
- Date: August 31, 2025
-
ModuleNotFoundError: No module named 'pdf2image'
- Ensure Poppler is installed on your system
- Verify virtual environment is activated
- Reinstall requirements:
pip install -r requirements.txt
-
Google API Error
- Check your API key is correctly set in
.env - Ensure API key has Gemini access enabled
- Verify API quota hasn't been exceeded
- Check your API key is correctly set in
-
PDF Processing Error
- Ensure PDF is not corrupted
- Check PDF is not password protected
- Verify Poppler is properly installed
- Support for Word documents (.docx)
- Batch processing of multiple resumes
- Resume template suggestions
- Export analysis results to PDF
- Integration with job boards
- Resume scoring dashboard
If you encounter any issues or have questions, please:
- Check the troubleshooting section above
- Create an issue in the repository
- Contact the maintainer
Made with ❤️ using Python and AI by Situm Mohanty