This project is a comprehensive Application Tracking System (ATS) built using Google Generative AI and Streamlit. The ATS helps job applicants improve their resumes by matching them with job descriptions, calculating a percentage match, and suggesting areas for improvement. This tool is ideal for understanding how resumes align with specific roles and optimizing job applications for modern hiring systems.
- Resume Upload: Upload your resume in PDF format for analysis.
- Job Description Input: Enter the job description text to match it against your resume.
- Percentage Match Calculation: View how well your resume matches the job description.
- Keyword Suggestions: Identify missing keywords and areas for improvement.
- Insights from Google Generative AI: Leverage advanced AI models to analyze and generate professional suggestions.
- User-Friendly Interface: Built with Streamlit for a smooth and interactive experience.
- Frontend: Streamlit
- AI Integration: Google Generative AI (Gemini models)
- Backend: Python
- Libraries Used:
streamlit
(for building the web application)google-generativeai
(for AI-powered insights)pdf2image
(for converting PDF resumes to images)Pillow
(for image processing)base64
(for encoding images)dotenv
(for managing API keys securely)
Follow these steps to set up and run the project:
-
Clone the Repository:
git clone <repository_url> cd <repository_directory>
-
Create a Virtual Environment:
python -m venv env source env/bin/activate # For Linux/Mac .\env\Scripts\activate # For Windows
-
Install Dependencies:
pip install -r requirements.txt
-
Set Up API Key:
- Obtain your API key from Google Cloud Console.
- Create a
.env
file in the project root directory and add your API key:GOOGLE_API_KEY=your_google_api_key
-
Run the Application:
streamlit run app.py
-
Upload Resume:
- Users can upload their resumes in PDF format using the upload button.
-
Enter Job Description:
- Users input the job description in a text box.
-
Analysis:
- The system processes the uploaded resume using
pdf2image
to extract key information. - The AI model evaluates the resume against the job description.
- The system processes the uploaded resume using
-
Output:
- Percentage Match: The similarity score between the resume and job description.
- Keyword Suggestions: Identifies missing keywords to optimize the resume.
- Professional Feedback: Suggestions on how to align the resume with the job requirements.
You are an experienced HR with technical expertise in roles such as Data Science, Full Stack Development, or DevOps. Review the provided resume against the job description and share professional feedback. Highlight strengths and weaknesses in alignment with the job requirements.
You are an ATS expert with a deep understanding of resume parsing and keyword matching. Analyze the provided resume against the job description and output the following:
1. Percentage match.
2. Missing keywords.
3. Final recommendations for improvement.