An AI-powered tool that optimizes your resume for specific job applications using multiple AI agents. Built with CrewAI.
- Job Analysis: Analyzes job requirements, skills, and qualifications
- Resume Scoring: Calculates match scores for technical skills, experience, and qualifications
- Optimization: Suggests specific improvements to increase your match score
- Company Research: Provides company insights for interview preparation
-
Clone the repository and install dependencies:
git clone https://github.com/tonykipkemboi/resume-optimization-crew.git cd resume-optimization-crew -
Create a virtual environment and install dependencies:
python3 -m venv .venv source .venv/bin/activate crewai install
-
Copy
.env.exampleto.env:cp .env.example .env
-
Add your API keys to
.env:- Required:
OPENAI_API_KEY: OpenAI API keySERPER_API_KEY: Serper API key for web search
- Optional:
- See
.env.examplefor additional optional APIs
- See
- Required:
-
Save your resume as PDF in the project root under the
knowledge/directory:- Feel free to use the sample resume provided in
knowledge/knowledge/CV_Mohan.pdf - I got it from here
- Feel free to use the sample resume provided in
-
Fill in the input data in
main.py:job_url: URL of the job posting (e.g., 'https://www.mckinsey.com/careers/search-jobs/jobs/associate-15178')company_name: Name of the company (e.g., 'Mckinsey & Co.')
-
Run the optimization crew:
crewai run
The tool generates three JSON files in the output directory:
job_analysis.json: Detailed job requirements and match scoringresume_optimization.json: Specific suggestions to improve your resumecompany_research.json: Company insights for interview prep
The system uses three specialized AI agents:
- Job Analyzer: Extracts and analyzes job requirements
- Resume Analyzer: Scores resume match and suggests improvements
- Company Researcher: Gathers company information for interviews
- Python
>= 3.10and< 3.13 - PDF resume file
- Job posting URL
- Company name