LICENSE
MIT License
Copyright (c) 2024 JobFit Analyzer
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
JobFit Analyzer is an AI-powered web application that revolutionizes the recruitment process by automatically analyzing job descriptions and candidate resumes. Built with Streamlit and leveraging advanced embedding techniques, it provides instant similarity scores and interactive Q&A capabilities to help recruiters make informed decisions.
-
📄 Smart Document Processing
- Upload and analyze Job Description PDFs
- Process multiple candidate resumes
- Automatic embedding computation
-
🔍 Advanced Analysis
- Real-time similarity scoring
- Multiple query modes for comprehensive analysis
- RAG-prompt integration for intelligent responses
-
⚡ Performance Optimization
- Efficient session management
- Single-pass processing
- Optimized data reuse
-
🚀 Deployment Options
- Local development setup
- Docker containerization
- AWS cloud deployment with S3 integration
- Python 3.9+
- Git
- OpenAI API key
- Clone the repository:
git clone https://github.com/Siddhant231xyz/jobfit-analyzer.git
cd jobfit-analyzer- Set up virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt- Set up environment variables:
echo "OPENAI_API_KEY=your_api_key_here" > .env- Start the application:
streamlit run app_local.py- Open your browser and navigate to
http://localhost:8501
- Build the Docker Image:
docker build -t streamlit-resume-app .- Create a Docker Volume for resumes:
docker volume create resume-volume- Run the Container with the volume mounted:
docker run -d -p 8501:8501 -v resume-volume:/data/resume streamlit-resume-app- Launch an EC2 Instance with Amazon Linux 2 AMI
- Install Docker on the EC2 instance:
sudo yum update -y
sudo amazon-linux-extras install docker -y
sudo service docker start
sudo usermod -a -G docker ec2-user- Install AWS CLI:
sudo yum install aws-cli -y- Verify SSM Agent is running:
sudo systemctl status amazon-ssm-agent- Create an S3 bucket for storing resumes (e.g.,
resume-storage-bucket-1) - Configure S3 Event Notifications to trigger Lambda function on file uploads
- Use Lambda Function (provided in
Lambda_function.py) to sync S3 content to Docker volume
- EC2 Instance Role: Attach role with
AmazonSSMManagedInstanceCorepolicy - Lambda Function Role: Create role with permissions to invoke SSM commands and access CloudWatch Logs
For detailed documentation, please visit our Wiki.
jobfit-analyzer/
├── app.py # Main Streamlit application (Docker version)
├── app_local.py # Local development version
├── code.py # Core functionality without GUI
├── Lambda_function.py # AWS Lambda for S3 to EC2 sync
├── Dockerfile # Docker configuration
├── .dockerignore # Docker build exclusions
├── requirements.txt # Project dependencies
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Add support for more document formats
- Implement batch processing
- Add advanced analytics dashboard
- Integrate with ATS systems
- Add multi-language support
- Enhance AWS deployment with CloudFormation templates
- Implement CI/CD pipeline
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI for their powerful embedding models
- Streamlit team for the amazing framework
- AWS for cloud infrastructure solutions
- All our contributors and supporters

