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/active crewai install
-
Copy
.env.example
to.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.example
for 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.10
and< 3.13
- PDF resume file
- Job posting URL
- Company name