My Curriculum Vitae and cover letter template, written in
Is it overengineered? For most, probably yes.
Is it perfect for automation enthusiasts? Absolutely.
Maybe I can convince you to become one too—here's why.
-
Enter the development container (this requires Docker)
make enter
-
Build and test all outputs
make all && make test
To view other available targets, run
make help
.
Follow these steps to set up your AWS account and configure GitHub Actions for automatic CV deployment.
-
Preview the Terraform changes
terraform plan
-
Apply the configuration
terraform apply
-
Retrieve the GitHub Actions credentials and bucket name
# Access Key ID terraform output -raw github_actions_access_key_id # Secret Access Key terraform output -raw github_actions_secret_access_key # Bucket name terraform output -raw cv_bucket_name
-
Add the credentials as GitHub repository secrets
AWS_ACCESS_KEY_ID
→ value fromgithub_actions_access_key_id
AWS_SECRET_ACCESS_KEY
→ value fromgithub_actions_secret_access_key
AWS_S3_BUCKET
→ value fromcv_bucket_name
-
See it in action
Once the secrets are added, the provided workflow will automatically build your CV PDFs and preview images, then upload them to the configured S3 bucket whenever you push changes to the repository.
You can also run make release
to upload artifacts to S3.
Component | Why? |
---|---|
Git | Tracks every change in fine detail—much more granular than cloud-hosted solutions like Google Drive. Supports collaboration, safe experimentation, and integrates seamlessly with automation workflows. |
LaTeX | Produces professional, highly customizable PDFs. Standard in math and engineering fields, and easy to track with Git. |
AWS S3 | Cheap (pennies for 2 MB of assets) and reliable hosting. Stores the latest PDFs and images outside the repo (avoiding repo bloat) and provides a stable URL accessible by anyone on the internet. |
Terraform | Makes AWS setup reproducible and version-controlled. Anyone (including future you) can recreate the environment easily. |
GitHub Actions | Automates the build, test, and deployment workflow on every push. Ensures your CV and cover letter are always up-to-date without manual intervention, seamlessly integrating with Git and AWS S3. |
cvlint | Automatically checks your CV for formatting and content issues. |
Docker | Encapsulates all dependencies and tools needed to build your CV into one portable image, guaranteeing the build runs exactly the same anywhere. |