An AI-powered resume optimization system that automatically tailors resumes to specific job postings while maintaining factual accuracy and professional formatting.
This system takes a master resume template and a job posting, then generates a perfectly tailored resume that:
- Highlights relevant experience and skills
- Uses job-specific keywords strategically
- Maintains single-page formatting
- Follows STAR methodology for bullet points
- Preserves all factual information from the original resume
gdg-jobauto/
├── README.md # This file
├── edit-resume.md # AI assistant instructions and methodology
├── master-resume.tex # Your canonical LaTeX resume (READ-ONLY)
├── job-posting.txt # Target job description
├── resume.tex # Generated tailored resume
├── resume.pdf # Compiled PDF output
├── convert_to_pdf.py # Python script for LaTeX → PDF conversion
└── pyproject.toml # Python project configuration
-
LaTeX Distribution (for PDF generation):
# macOS brew install --cask mactex # Ubuntu/Debian sudo apt-get install texlive-latex-base texlive-latex-extra # Windows # Download and install MiKTeX from https://miktex.org/
-
Python 3.6+ (usually pre-installed on macOS/Linux)
-
Update Job Posting: Replace content in
job-posting.txtwith your target job description -
Generate Tailored Resume: Use the AI assistant with the instructions in
edit-resume.md -
Convert to PDF:
python3 convert_to_pdf.py
-
Review Output: Check
resume.pdffor the final tailored resume
- Keyword Integration: Automatically bolds relevant technologies and skills
- Experience Prioritization: Reorders sections to highlight most relevant experience
- STAR Format: Ensures all bullet points follow Situation-Task-Action-Result methodology
- Quantified Impact: Emphasizes measurable results and achievements
- LaTeX Compatibility: Works with pdflatex, xelatex, and lualatex
- Single Page Constraint: Maintains professional one-page format
- ATS-Friendly: Generates machine-readable PDFs for applicant tracking systems
- Clean Compilation: Automatic cleanup of auxiliary LaTeX files
- No Fabrication: Only uses factual information from master resume
- Fact Preservation: Never adds experiences, skills, or details not in source
- Consistent Terminology: Matches job posting language while maintaining truthfulness
The system analyzes the job posting to extract:
- Required qualifications (must-haves)
- Preferred qualifications (nice-to-haves)
- Industry keywords and technical terminology
- Company background and culture insights
- Bullet Point Excellence: STAR methodology with 95-115 characters per line
- Strategic Bolding: Highlights relevant technologies using
\textbf{...} - Section Reordering: Prioritizes most relevant experience
- Skills Alignment: Ensures consistency between Skills and Experience sections
- ✅ All job requirements addressed
- ✅ STAR format applied to all bullets
- ✅ Keywords strategically emphasized
- ✅ Single page constraint met
- ✅ LaTeX compiles without errors
- ✅ No fabricated information included
- Responsive Design: Automatically adjusts to content length
- Professional Typography: Uses Charter font with optimized spacing
- ATS Optimization: Machine-readable PDF generation
- Flexible Layouts: Support for one, two, and three-column entries
# Basic usage
python3 convert_to_pdf.py
# Convert specific file
python3 convert_to_pdf.py my_resume.texFeatures:
- Cross-platform compatibility
- Automatic auxiliary file cleanup
- Comprehensive error handling
- Progress feedback and status messages
• Developed mobile applications using various technologies
• Worked on data processing systems
• Built web applications for different clients
• Built real-time data processing pipeline with Kafka and PySpark,
migrating from batch queries to event streaming that processes
millions of rows daily with minute-level latency
• Led cross-functional team of 5 to ship Attire, an AI-powered app
achieving 1,000+ downloads; built full-stack architecture with
Flutter frontend and FastAPI backend
- Edit
master-resume.texwith your updated experience - Maintain the existing LaTeX structure and formatting
- Test compilation:
python3 convert_to_pdf.py master-resume.tex
Modify the instructions in edit-resume.md to:
- Change keyword emphasis strategy
- Adjust section prioritization rules
- Modify bullet point length requirements
- Update formatting preferences
LaTeX not found:
# Verify installation
pdflatex --version
# Install if missing (macOS)
brew install --cask mactexPython command not found:
# Try alternative Python commands
python --version
python3 --version
# Use full path if needed
/usr/bin/python3 convert_to_pdf.pyPDF compilation errors:
- Check LaTeX syntax in generated
resume.tex - Verify all
\textbf{}commands are properly closed - Ensure proper character encoding (UTF-8)
- Compilation Time: ~2-3 seconds for typical resume
- Output Size: ~150KB PDF file
- Success Rate: >99% compilation success with proper LaTeX syntax
- ATS Compatibility: Tested with major applicant tracking systems
- Test changes with multiple job postings
- Verify PDF output quality and formatting
- Ensure LaTeX compatibility across distributions
- Maintain single-page constraint
This project is for personal use in job applications. The LaTeX template and Python scripts are provided as-is for educational and professional purposes.
Last Updated: October 2025
Author: Dheeraj Thota
Contact: thotadhe@msu.edu