A Python-based tool that optimizes project descriptions and skills for job applications using AI. This tool helps tailor your resume content to specific job descriptions by analyzing relevance and suggesting optimized descriptions.
- Job Description Analysis: Extracts relevant skills and requirements from job postings
- Project Ranking: Ranks your projects based on relevance to the job description
- Description Optimization: Enhances project descriptions while maintaining authenticity
- Skills Matching: Identifies and highlights relevant skills for the position
- Multiple Optimization Attempts: Generates multiple versions of optimized descriptions
ResumeOptimizer/
├── src/
│ ├── optimizer/
│ │ ├── description_optimizer.py # Handles description optimization
│ │ └── project_optimizer.py # Manages project ranking and relevance
│ └── utils/
│ └── file_loader.py # Handles file I/O operations
├── input/
│ ├── job_description.txt # Target job description
│ ├── projects.json # Your project descriptions
│ ├── skills.json # Your skills database
│ └── *.tex # LaTeX format support files
└── LICENSE # MIT License
- Clone the repository:
git clone https://github.com/yourusername/ResumeOptimizer.git
cd ResumeOptimizer
- Install required dependencies:
pip install -r requirements.txt
- Set up your OpenAI API key in
.env
file:
OPENAI_API_KEY=your_api_key_here
- Place your job description in
input/job_description.txt
. If already existing, update the content. - Add your projects to
input/projects.json
. Keep the format as shown below. - Define your skills in
input/skills.json
. - Run the optimizer:
python main.py
The tool will:
- Analyze the job description
- Extract relevant skills and requirements
- Rank your projects by relevance
- Generate optimized descriptions
- Save results in the
output/
directory
{
"projects": [
{
"title": "Project Name",
"description": "Project description...",
"technologies": ["Python", "OpenAI", "etc"],
"duration": "6 months"
}
]
}
{
"technical_skills": ["Python", "Machine Learning", "etc"],
"domain_knowledge": ["Software Development", "AI", "etc"],
"technologies": ["Git", "Docker", "etc"]
}
- Maintains authenticity while enhancing relevance
- Preserves technical details and metrics
- Generates multiple unique variations
- Ensures natural keyword incorporation
- Ranks projects based on content relevance
- Considers keyword matches
- Evaluates description length and quality
- Provides similarity scoring
- 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
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI for providing the GPT API
- Contributors and maintainers
- Everyone who provides feedback and suggestions
@Fortranibal