Jeremy Ettlinger

Colophon

How this site is made.

Type & color

Headings are set in Fraunces, body text in Public Sans, and the small-caps labels in IBM Plex Mono with tabular numerals — a habit left over from years of building applications for institutional finance, where numbers line up or someone notices.

The palette is the one I dress in: walnut, olive, and beige. Hairline rules instead of boxes; a ledger, not a dashboard.

Lineage

This is the third site to carry the job. The first, in 2019, was hand-written HTML and CSS from freeCodeCamp's responsive web design certification. The second, in 2022, was a Vue 3 + Vite site hosted on the Internet Computer via Fleek, behind a Handshake domain — peak decentralized-web enthusiasm, and its writeup survives in the blog. This one trades the ideology for boring reliability: flat files on a CDN, a domain from a registrar.

Build

  • Nuxt 4 with Nuxt Content — every page on this site is a markdown file in a git repository.
  • Fully prerendered with nuxt generate; served as static files from Cloudflare Workers.
  • Recipes keep their ingredients in structured frontmatter, so the site can render checklists and honest print pages.
  • Built largely with Claude Code.

No analytics, no cookies, no tracking. If you read something you liked, email me — that's the metric.