Maintain a professional resume in LaTeX and automatically serve it as a high-quality PDF and a structured JSON API for your portfolio website.
- Single Source of Truth: Edit
resume.tex, and the system handles the rest. - Dynamic Previews: Every Pull Request creates a unique preview URL (e.g.,
resume-4.kenf.dev). - Headless API: Access your resume data at
your-domain.com/resume.json. - Hands-off Infrastructure: Automatic deployment and cleanup via GitHub Actions and Terraform.
- LaTeX Content: We recommend starting with our Overleaf Template. Customize your resume there, then copy the content to your local
resume.tex. - HCP Terraform: Create an account and an Organization. Generate a User API Token.
- Cloudflare: Get your Account ID, Zone ID for your domain, and an API Token (with 'Pages' and 'DNS' edit permissions).
Fork this repo and add the following to Settings -> Secrets and variables -> Actions:
Secrets:
CLOUDFLARE_API_TOKENCLOUDFLARE_ACCOUNT_IDCLOUDFLARE_ZONE_IDTF_API_TOKEN(Your HCP Terraform Token)
Variables:
DOMAIN_NAME: e.g.,resume.kenf.devPROJECT_NAME: e.g.,resume-hostingTF_ORGANIZATION: Your HCP Terraform Organization name.
- Production: Push to
main. The system will automatically create your HCP Terraform workspace and deploy to your domain. - Previews: Create a Pull Request. A unique environment will be provisioned automatically and destroyed when the PR is closed.
The Python pipeline in extraction/ parses the LaTeX source using specific comment markers:
% SECTION STARTS HERE% END OF SECTION
If you want to compile locally, we recommend the LaTeX Workshop extension for VS Code.