A multi-agent solution to optimize resumes using AI, focusing on providing intelligent feedback while maintaining privacy and accessibility.
CV Optimizer aims to democratize access to high-quality resume optimization using AI. We help job seekers present their best professional selves while reducing bias and improving job market accessibility.
- 🤖 Intelligent resume parsing and analysis
- 📊 ATS (Applicant Tracking System) optimization
- 🔒 Privacy-first approach with PII protection
- 🎯 Job description matching
- ✍️ Smart content improvement suggestions
- 🌍 Multi-format support (PDF, DOCX, TXT)
- 🔄 Career development planning
Built using hexagonal architecture principles with a LangGraph-based workflow, ensuring:
- Clean separation of concerns
- Pluggable AI providers
- Extensible agent system
- Comprehensive testing
This is a side project that I'm currently working on, but I intend to deliver an end-to-end product until the end of this year. For more details about the vision, visit CV Optimizer Notion Page.
- Clone the repository
- Create a virtual environment:
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Copy the example environment file:
cp env.example .env
- Configure your environment variables in
.env
:- Add your OpenAI API key
- Set up LangSmith for tracing (optional)
- Run tests to verify setup:
pytest
The application uses LangGraph to create a workflow that analyzes resumes and job descriptions:
- Parse Resume → Parse Job Description → Experience Analyzer → ...
More nodes will be added as development continues.
To contribute to the project:
- Set up the environment as described above
- Install development dependencies if not already included
- Follow the existing code style patterns
- Add tests for new functionality
- Ensure all existing tests pass