Colophon

Built static. Served from my own infrastructure.

This site is itself a small portfolio piece. It's a static Astro build, deployed through a dry-run-first script to a Caddy file server I run, with a real rollback path. The serving model mirrors the engineering posture the case studies describe.

Generator
Astro, static output
Serving
Caddy file_server on a self-hosted container
Deploy
Built on Arch, dry-run by default, --apply required to cut over
Rollback
Live site archived to a timestamped copy before every replacement
Privacy
No tracking scripts, no third-party fonts, no analytics

Why static

The portfolio doesn't need server-side rendering, a production Node runtime, or a dedicated container. The artifact is static HTML and CSS generated by Astro. Keeping the runtime surface small is a reliability decision, not a shortcut.

Why deploys are reversible

The deploy script changes nothing until it's run with --apply; by default it prints exactly what it would do. Before the web root is replaced, the current live site is copied to a timestamped archive, so reverting is restoring a directory rather than improvising under pressure. It's the same instinct that makes blue-green deployment and rollback discipline worth the effort at scale.