- Generator: Hugo with the PaperMod theme. Posts are Markdown; math renders at build time with KaTeX.
- Resume: written once in YAML. Hugo renders it as the resume page, and Typst renders the same data to
/resume.pdf on every build. - Server: a DigitalOcean droplet running Ubuntu 24.04 and Caddy, which serves the static files and handles HTTPS.
- Access: SSH is reachable only over Tailscale; the public firewall opens just ports 80 and 443.
- Deploys:
rsync uploads the built site as a deploy user that is restricted to the site directory.