Icon for Colophon

Colophon

This site is mine. My words, my domain, my infrastructure. After eighteen years of platforms coming and going, that matters more than it sounds.

The Stack

  • Framework: Responder, my own Python web framework, with a custom CMS layer called TufteCMS.
  • Typography: Tufte CSS. Edward Tufte understood that margins are for thinking.
  • Content: Markdown files in a directory. No database. Just files.
  • Hosting: Fly.io.
  • Deployment: Docker containers with uv for Python dependency management.
  • Search: Client-side JavaScript with caching and autocomplete.
  • Icons: Procedurally generated SVG patterns. Every essay gets a unique visual signature derived from its title.
  • Source: Open on GitHub.

The Design

Inspired by books. Wide margins for your thoughts. Readable typography. No dark patterns, no pop-ups, no newsletter modals, no cookie banners. Just words on a page.

The sidenotes are Tufte-style margin notes. Sometimes the most interesting part of a book is what's scribbled in the margins.

The Philosophy

No JavaScript frameworks. No build process. No npm dependencies. Just Python, Markdown, and CSS.

If Fly.io disappears tomorrow, I can have this running on a Raspberry Pi in 10 minutes. Portability is a form of independence. Plain text is the universal solvent for ideas.

The Collaboration

I work with Claude. The essays are genuine collaborations where I direct the thinking and the AI helps me write at the scale and speed my brain wants to move. Some of the best ideas emerge in the space between human and artificial intelligence. I've written about this extensively.

These aren't AI-generated posts with my name on them. They're my ideas, my voice, my direction, shaped through a partnership that I take seriously.

The Evolution

This site has been:

  • WordPress (2008-2010)
  • Jekyll on GitHub Pages (2010-2013)
  • Ghost (2013-2015)
  • Medium (briefly, regrettably)
  • Squarespace (2016-2023)
  • Custom TufteCMS on Flask (2024-2026)
  • Custom TufteCMS on Responder (2026-present)

Every migration taught me the same lesson: platforms come and go, but your own domain is forever.

Credits

  • Sarah, for everything.
  • Claude, for being a genuine thought partner.
  • The Python community, for teaching me that code can be beautiful.
  • My brain, for somehow still working despite everything I've put it through.

License

The words are mine. The code is open source. Build your own.


Built with caffeine, gabapentin, and a stubborn refusal to use React.