An AI-powered tool that automatically tailors your resume to match specific job descriptions. Using Google's Gemini AI, it analyzes your existing resume against a job description (JD) and generates a new, optimized version with improved keywords and phrasing.
- Intelligent Analysis: Uses Gemini AI to understand context and matching requirements.
- Docx Support: Reads and Writes directly to Microsoft Word (
.docx) files. - Smart Replacement: Identifies specific text blocks in your resume and replaces them with tailored content while maintaining document structure.
- Automated Workflow: Simple command-line interface to run the entire process.
- Language: Python 3
- AI Model: Google Gemini Pro (
google-generativeai) - Document Processing:
python-docx - Environment Management:
python-dotenv
-
Clone the repository:
git clone https://github.com/dineshingale/Resume_Optimizer.git cd Resume_Optimizer -
Set up a virtual environment (Optional but Recommended):
python -m venv venv # Windows .\venv\Scripts\activate # macOS/Linux source venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
-
Configure API Key: Create a
.envfile in the root directory and add your Google Gemini API key:GEMINI_API_KEY=your_actual_api_key_here
-
Prepare your Input Files:
- Place your resume file at:
data/input/resume.docx - Place the job description text at:
data/input/jd.txt
- Place your resume file at:
-
Run the Optimizer:
python run.py
-
Get Results:
- The script will analyze the documents and apply changes.
- Find your optimized resume at:
data/output/updated_resume.docx
Resume_Optimizer/
βββ data/
β βββ input/ # Place your resume.docx and jd.txt here
β βββ output/ # Generated resumes will appear here
βββ src/
β βββ ai_engine.py # Handles interaction with Gemini API
β βββ docx_handler.py # Reads and modifies Word documents
β βββ main.py # Main orchestration logic
β βββ prompts.py # System prompts for the AI
βββ run.py # Entry point script
βββ requirements.txt # Python dependencies
βββ .env # Environment variables (API Key)
- Ensure your
.docxfile is not open in Word while running the script, or it may fail to save. - The tool works best with text-based resumes. Complex layouts with text boxes may require manual adjustment.
- Fork the repository.
- Create a feature branch (
git checkout -b feat/amazing-feature). - Commit your changes (
git commit -m 'feat: add amazing feature'). - Push to the branch (
git push origin feat/amazing-feature). - Open a Pull Request.