A comprehensive resume analysis tool built with Streamlit that helps job seekers optimize their resumes and identify skill gaps for their target roles.
- Resume Parsing: Extract and analyze text from PDF resumes
- Formatting Check: Evaluate resume formatting and structure
- Scoring Engine: Provide comprehensive scoring based on various criteria
- Skill Gap Analysis: Identify missing skills for target job roles
- AI-Powered Insights: Generate summaries and explanations using Google's Gemini AI
- Cover Letter Generation: Create personalized cover letters
- Learning Recommendations: Get YouTube tutorial suggestions for skill improvement
- Frontend: Streamlit
- AI/ML: Google Gemini AI
- Data Processing: Pandas, Python
- Visualization: Plotly
- PDF Processing: Resume parsing capabilities
- Data Sources: O*NET occupational data
- Clone this repository:
git clone https://github.com/yourusername/resume_analyzer.git
cd resume_analyzer- Install required dependencies:
pip install -r requirements.txt- Set up your API keys:
- Copy
.streamlit/secrets.toml.templateto.streamlit/secrets.toml - Get a Google Gemini AI API key from Google AI Studio
- Get a YouTube Data API key from Google Cloud Console
- Add your API keys to the
.streamlit/secrets.tomlfile
- Copy
- Run the Streamlit application:
streamlit run app.py- Upload your resume (PDF format)
- Select your target job role
- Get comprehensive analysis including:
- Resume score and feedback
- Skill gap analysis
- Improvement recommendations
- Cover letter generation
resume_analyzer/
├── app.py # Main Streamlit application
├── resume_parser.py # Resume text extraction
├── formatter_checker.py # Resume formatting analysis
├── scoring_engine.py # Resume scoring logic
├── recommendations.py # Skill recommendations and matching
├── gemini_ai.py # AI integration for insights
├── requirements.txt # Python dependencies
├── json/ # O*NET data files
│ ├── Knowledge.txt
│ ├── Skills.txt
│ ├── Task Statements.txt
│ └── Work Activities.txt
└── *.json # Processed job role data
- 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 open source and available under the MIT License.
- O*NET for occupational data
- Google Gemini AI for intelligent insights
- Streamlit for the web framework