Jeremy Ettlinger

August 30, 2026

Building this site

Every product I ship lives on someone else's domain model — a template, a billing provider, an app store's idea of what software is. This site is the one place on the internet where the domain model is just me: the work, the recipe box, the writing.

A few deliberate choices:

Markdown all the way down. Work writeups, recipes, and posts are all files in a git repo, rendered with Nuxt Content. No CMS, no database, nothing to migrate later. Adding a recipe is git commit.

Fully static. The whole site prerenders at build time and ships as flat files from Cloudflare's edge. There is no server to wake up, which is the correct amount of server for a personal site.

Recipes are structured, not prose. Ingredients live in frontmatter with groups and gram weights, so the cook view can render a proper checklist and the print stylesheet produces a page worth taping to a cabinet.

The rest of the how-it's-built details live in the colophon.