Source Code
Resume Optimizer
Build professional, ATS-optimized resumes with PDF export capabilities.
Capabilities
- Create Resumes - Build new resumes from user information with professional formatting
- Customize Resumes - Tailor existing resumes for specific roles or per user requests
- Analyze Resumes - Review resumes and provide actionable improvement recommendations
- Export to PDF - Generate downloadable, ATS-friendly PDF documents
Workflow Decision Tree
Creating a New Resume
- Gather user information (experience, education, skills, target role)
- Select appropriate format (see format selection guide below)
- Read
references/templates.mdfor the chosen template - Build resume content following
references/best-practices.md - Generate PDF using
scripts/generate_resume_pdf.py
Customizing an Existing Resume
- Review the provided resume content
- Understand the target role/changes requested
- Read
references/ats-optimization.mdfor keyword integration - Apply modifications following best practices
- Generate updated PDF
Analyzing a Resume
- Parse the resume content
- Check against criteria in
references/analysis-checklist.md - Identify strengths and improvement areas
- Provide specific, actionable recommendations
- Optionally offer to implement changes
Format Selection Guide
Chronological (Most Common)
- Use for: Consistent work history in same field, clear career progression
- Best for: Most professionals staying in their field
- Read:
references/templates.mdโ Chronological Template section
Functional
- Use for: Career changers, employment gaps, emphasizing transferable skills
- Best for: Returning to workforce, diverse experience across fields
- Read:
references/templates.mdโ Functional Template section
Combination
- Use for: Mid-career professionals balancing skills and progression
- Best for: Diverse skill sets, career changers with relevant experience
- Read:
references/templates.mdโ Combination Template section
PDF Generation
Use the provided script to create professional PDFs:
python3 scripts/generate_resume_pdf.py \
--input resume_content.json \
--output resume.pdf \
--format chronological
The script uses reportlab to create clean, ATS-compatible PDFs with:
- Professional typography (Helvetica)
- Proper margins and spacing (0.75" all sides)
- Clean section headers
- Bullet point formatting
- Consistent visual hierarchy
Essential References
Before creating any resume, read:
references/best-practices.md- Core resume writing principlesreferences/ats-optimization.md- ATS compatibility requirementsreferences/templates.md- Format-specific templates
Before analyzing a resume, read:
references/analysis-checklist.md- Evaluation criteria and scoring
Quick Start Examples
Creating a resume:
User: "Help me build a resume. I have 5 years in marketing."
Steps:
1. Gather: Current role, key achievements, education, certifications
2. Format: Chronological (clear progression in same field)
3. Build: Use template from references/templates.md
4. Keywords: Integrate from job description per ats-optimization.md
5. Export: Generate PDF to /mnt/user-data/outputs/
Tailoring for a role:
User: "Tailor my resume for this job [job description]"
Steps:
1. Parse job description for required skills/keywords
2. Identify gaps between resume and requirements
3. Reorder bullets to lead with relevant achievements
4. Integrate keywords naturally throughout
5. Update summary to mirror key requirements
6. Generate updated PDF
Analyzing a resume:
User: "Review my resume and tell me how to improve it"
Steps:
1. Read references/analysis-checklist.md
2. Evaluate each section against criteria
3. Score: Content, Format, ATS-compatibility
4. Identify top 3-5 priority improvements
5. Provide specific rewrite examples
6. Offer to implement changes
Output Requirements
All generated resumes must:
- Be saved to
/mnt/user-data/outputs/for user download - Use descriptive filenames:
FirstName_LastName_Resume.pdf - Include a download link using
computer://protocol - Follow ATS-friendly formatting (no tables, text boxes, or graphics)
Code Style
When generating Python scripts for PDF creation:
- Use reportlab for PDF generation
- Keep code concise and functional
- Handle errors gracefully
- Test output before delivering to user