← All essays

I keep rebuilding my website. The rebuild is the point.

· Mason Walters

I’ve built this website more than once, in more than one language, and I’ll probably do it again. Not because the last version broke. Because rebuilding it is how I learn.

I’m a data engineer — Python is my native tongue, and the web was never my home turf. I learned just enough JavaScript to make some D3 charts move, and that turned out to be enough to ship a v1: a Next.js app that drifted into a plain React app, running on Heroku. It worked. People could read it. By the standard of “is there a website,” I was done.

Then I kept not being done. My hard drive filled up with half-built Flask and Django versions — me reaching for Python because it’s where I’m comfortable, getting a rebuild 60% of the way there, and quitting the moment the novelty wore off. None of them shipped. They were learning exercises wearing the costume of a project, and learning exercises are easy to abandon, because nothing’s riding on them.

What finally stuck was Rails, and the reason is almost embarrassing. I’d been reading DHH and got sold on the whole philosophy: server-rendered, majestic monolith, no build step, boring on purpose. I wanted to actually learn it, not skim a tutorial and move on. So I gave myself a real reason — rebuild the site, for real, in Rails, and don’t let myself off the hook with a toy.

That was the trick I’d missed in the Flask/Django graveyard. Learning for its own sake doesn’t survive a busy week. Learning because there’s a real thing you want to exist — a site you actually use, with your writing and your health data on it — does. The project is the forcing function. The stack is just whatever I’m trying to learn that year.

Owning it helps too, and I won’t pretend otherwise. These essays are Markdown in a Git repo; my health data is YAML; the URL is mine and points where I say. Rebuild again next year on something else and every link still works, nothing trapped in someone’s platform. (The colophon covers the how.) But if I’m honest, sovereignty is the justification, not the motive. The motive is simpler: I learn by building, I don’t finish what I build only to learn, and a website I actually want is the one project that holds me to it.

So — probably a fourth version someday, in whatever’s caught my eye by then. The graveyard’s still on my hard drive. This one’s on the internet. The difference was having a reason to finish.


Found this useful or want to push back on it? Say hi.