🚀 Transform your resume with AI-powered optimization for better ATS compatibility and job matching.
- 🎯 ATS Optimization: Improve compatibility with Applicant Tracking Systems
- 🤖 AI-Powered Analysis: Leverage Perplexity AI and Google Gemini for intelligent recommendations
- 📊 Job Matching: Analyze resume against specific job descriptions
- 🔑 Keyword Optimization: Identify and suggest missing keywords
- 📄 PDF Generation: Create professionally formatted, ATS-compliant resumes
- 🎨 Streamlit UI: User-friendly web interface
The application follows a modular, object-oriented architecture with clear separation of concerns:
src/
├── resume_optimizer/
│ ├── config/ # Configuration management
│ ├── core/ # Core business logic
│ │ ├── resume_parser/ # Resume parsing and extraction
│ │ ├── job_analyzer/ # Job description analysis
│ │ ├── ai_integration/ # AI service clients
│ │ ├── ats_optimizer/ # ATS optimization engine
│ │ └── pdf_generator/ # PDF generation
│ ├── streamlit_ui/ # Streamlit web interface
│ └── utils/ # Utilities and helpers
- Clone the repository:
git clone https://github.com/yourusername/resume-optimizer.git
cd resume-optimizer- Create a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt- Install spaCy model:
python -m spacy download en_core_web_sm- Configure environment variables:
cp .env.example .env
# Edit .env with your API keyspython main.pyThen open http://localhost:8501 in your browser.
python main.py --cli \
--resume path/to/resume.pdf \
--job path/to/job_description.txt \
--output optimized_resume.pdf \
--name "John Doe" \
--company "TechCorp"- Perplexity AI: Get from https://perplexity.ai/
- Google Gemini: Get from https://makersuite.google.com/
# AI Service API Keys
PERPLEXITY_API_KEY=your_key_here
GOOGLE_API_KEY=your_key_here
# Application Settings
DATA_DIR=data
TEMP_DIR=data/temp
DEBUG=falseThe project follows PEP 8 standards and modern Python best practices:
- Modular Design: Clear separation of concerns with dedicated modules
- Object-Oriented: Uses design patterns like Factory, Strategy, and Observer
- Type Hints: Full type annotation support
- Error Handling: Comprehensive exception handling
- Logging: Structured logging throughout the application
- Configuration: Centralized configuration management
- Resume Parser: Extracts structured data from PDF/DOCX/TXT files
- Job Analyzer: Analyzes job descriptions for requirements and keywords
- AI Integration: Interfaces with Perplexity AI and Google Gemini
- ATS Optimizer: Improves resume for ATS compatibility
- PDF Generator: Creates professional, ATS-friendly PDFs
pytest tests/# Format code
black src/
# Lint code
flake8 src/
# Type checking
mypy src/- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Ensure all tests pass
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
For support and questions:
- 📧 Email: [email protected]
- 🐛 Issues: GitHub Issues
- 📚 Documentation: See docs/ directory