A modern, AI-powered HR application built with Streamlit that uses Google's Gemini AI to analyze and rank CVs based on job requirements.
python setup.py# Install dependencies
pip install -r requirements.txt
# Create .env file with your Gemini API key
echo "GOOGLE_API_KEY=your_api_key_here" > .env
# Run the app
streamlit run streamlit_app.py- 📄 PDF CV Upload: Upload multiple PDF CVs for analysis
- 🤖 AI-Powered Analysis: Uses Gemini AI to analyze CVs against job requirements
- 📊 Comprehensive Scoring: Scores CVs across 9 key dimensions
- 🏆 Smart Ranking: Automatically ranks candidates by total score
- 📈 Detailed Reports: View detailed analysis for each CV
- 📤 Export Results: Download results as CSV for further analysis
- Frontend: Streamlit (Python-based web framework)
- AI Engine: Google Gemini Pro API
- PDF Processing: PyPDF2 for text extraction
- Data Analysis: Pandas for data manipulation and export
- Evaluation Criteria: Based on industry-standard CV elements from
cv_elements.json
├── streamlit_app.py # Main Streamlit application
├── demo_cv_analysis.py # Demo script for testing
├── setup.py # Automated setup script
├── run_app.py # Quick start runner
├── requirements.txt # Python dependencies
├── README_STREAMLIT.md # Detailed documentation
├── .streamlit/config.toml # Streamlit configuration
└── src/server/py_utils/json_components/
├── cv_elements.json # CV evaluation criteria
└── jd_elements.json # Job description elements
- Get Gemini API Key: Visit Google AI Studio
- Set Environment Variable: Add your API key to
.envfile - Customize Evaluation: Modify
cv_elements.jsonto adjust scoring criteria
- Setup Guide: See
README_STREAMLIT.mdfor detailed instructions - Demo: Run
python demo_cv_analysis.pyto test functionality - Configuration: Check
.streamlit/config.tomlfor app settings
This Streamlit app replaces the previous TypeScript/Next.js + FastAPI setup:
- ✅ Removed: TypeScript/Next.js frontend
- ✅ Removed: FastAPI backend
- ✅ Removed: OpenAI API dependency
- ✅ Added: Streamlit frontend
- ✅ Added: Google Gemini API integration
- ✅ Maintained: CV evaluation logic and criteria
- ✅ Enhanced: Better UI/UX with Streamlit components
Feel free to submit issues and enhancement requests!
This project is open source and available under the MIT License.