• 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.