This site is my digital garden, my brain dump, my attempt to own my own words on my own domain.

The Stack

  • Framework: Flask, because Django is overkill for a personal site and I know Flask like the back of my hand Was using FastAPI in 2024, then switched back to Flask. No good reason. Sometimes you just want the familiar comfort of @app.route() instead of thinking about async and type hints for a simple site.
  • Markdown: Mistune, naturally — fast, clean, does what it needs to do
  • Typography: Tufte CSS, because Edward Tufte understood that margins are for thinking
  • Hosting: Fly.io (used to be Heroku, but, well... you know)
  • Source: Flask app with Markdown files, because simplicity matters

The Philosophy

No JavaScript frameworks. No build process. No npm dependencies with 47,000 subdependencies. Just Python, Markdown, and CSS. The way Tim Berners-Lee intended. Well, minus the Python part.

Every line of code on this site is readable. Every page loads fast. Every piece of content is portable. If Fly.io disappears tomorrow, I can have this running on a Raspberry Pi in my closet in 10 minutes.

The Content

Everything here is written in Markdown files, stored in a simple directory structure. No database. No CMS. Just files.

The AI content is real — I work with Claude to explore ideas about consciousness, creativity, and what it means to be human in the age of artificial intelligence. Some people think that's weird. I think it's the future.

The Design

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

The sidenotes are there because sometimes the most interesting part of a book is what's scribbled in the margins.

The Evolution

This site has been:

  • WordPress (2008-2010)
  • Jekyll on GitHub Pages (2010-2013)
  • Ghost (2013-2015)
  • Medium (briefly, regrettably)
  • Squarespace (2016-2023)
  • This current incarnation (2024-)

Every migration taught me something. Mainly that platforms come and go, but your own domain is forever.

The Why

I build tools for humans. This site is a tool for me — to think, to process, to share. It's my notebook that happens to be public. It's my way of thinking out loud.

Also, I got tired of my thoughts being scattered across Twitter, Medium, dev.to, and whatever the platform du jour is. This is mine. The URLs won't change. The content won't disappear. The platform won't pivot to video.

The Credits

  • Claude, for being a thought partner in ways I didn't expect
  • The Python community, for teaching me that code can be beautiful
  • Everyone who's ever sent a pull request to one of my projects
  • My brain, for somehow still working despite everything I've put it through

The License

The words are mine. Feel free to be inspired by them, but please don't wholesale copy them.

The Future

Who knows? But it'll be here. At this domain. In plain text. Like it should be.


Last updated: August 2025

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