Create and maintain your resume as HTML/CSS with automatic PDF generation and ATS testing.
CV As Code treats your resume like software: version-controlled, modular, and infinitely customizable. Instead of wrestling with Word templates or design tools, you write your CV in clean HTML/CSS, giving you complete control over every pixel while maintaining ATS (Applicant Tracking System) compatibility.
One of the core purposes of this project is to leverage modern AI coding assistants like GitHub Copilot, Anthropic Claude, ChatGPT, and others to write, refine, and tailor your resume. These tools excel at:
- Generating professional content: AI can help craft compelling job descriptions, achievements, and summaries
- Tailoring for specific roles: Quickly adapt your resume for different positions with AI suggestions
- Improving wording: Get help with action verbs, quantifying achievements, and professional phrasing
- HTML/CSS styling: AI assistants can generate and modify styles, layouts, and responsive designs
- Maintaining multiple versions: Easily create role-specific variants with AI-assisted content generation
Since your CV is just code, AI coding tools work seamlessly in your editor: autocompleting sections, suggesting improvements, and helping you iterate faster than ever before.
- Run
RunWindows.bat(Windows) or./RunLinux.sh(Mac/Linux) - Copy a template to
resumes/from the browser or manually - Edit your resume HTML - preview updates live at
localhost:3000 - Click "Preview PDF" to generate your resume
Open your AI coding assistant (Copilot, Claude, etc.) and use this prompt:
"Look at the templates in
templates/folder. Create a new resume for me inresumes/my-resume/based on [template name]. Here's my information: [paste your details]. Make it professional and ATS-friendly."
The AI will generate your complete resume HTML/CSS. Then just run the server and preview your PDF!
- Live Reload - Changes to your resume are reflected instantly in the browser
- Auto-shutdown - Server closes automatically 5 seconds after you close the browser
- Easy Setup - Auto-installs Node.js if missing (Windows: winget, Mac/Linux: Homebrew/apt)
- Multiple resume versions for different jobs
- Full HTML/CSS design control
- ATS-optimized PDF generation (extreme quality, 1200 DPI)
- Auto-updating tools and templates
See the docs/ folder for comprehensive documentation:
- Architecture - System design overview
- API Reference - HTTP endpoints
- Development Guide - Setup and contributing
- Template Guide - Creating custom templates
- Troubleshooting - Common issues
├── RunWindows.bat # Start script (Windows)
├── RunLinux.sh # Start script (Mac/Linux)
├── templates/ # Resume templates (read-only)
├── resumes/ # Your resumes (private, git-ignored)
└── src/ # Application code (auto-updated)
- Dropdown - Switch between resumes
- Preview PDF - Generate PDF from your resume
- ATS Test - Verify text extraction for job applications
- Settings - Configure visible resumes and external paths
You can add resume folders from anywhere on your computer:
- Click Settings (gear icon) in the browser
- The modal shows three sections: Templates, Resumes, and External Paths
- In the External Paths section, paste any folder path containing a
resume.html - Click Add to include it
- Check/uncheck external paths to control their visibility in the dropdown
- Click Save to apply changes
External paths persist across sessions and appear in the resume dropdown alongside your regular resumes.
- Clone this repo, then create your own private repo inside
resumes/for your personal data - Your
resumes/folder is git-ignored - your data stays private - Templates and tools update automatically on
git pull - Each resume folder needs a
resume.htmlfile