Why I built this
A short note on why this site exists, and what it is for.
I built this site because the internet has plenty of places to publish my thoughts, and none of them are mine.
For a while my “site” was a GitHub Pages profile, a bio and a list of links, tastefully arranged so as not to alarm anyone. It worked as a business card. It also had the rhetorical depth of a business card, which is a problem when the thing you actually care about is explaining how systems work. A profile page rewards brevity. Technical writing rewards the opposite, room to lay out a claim, show why it holds, and then admit where it falls over at 3am during an incident.
The work I am proudest of is rarely the code itself, it is the reasoning behind a decision. Why a queue, why not. Why this index, why not a covering one. Why a blue-green deploy is worth the operational overhead on one service and absurd overkill on the CRUD app three teams over. That reasoning currently lives in my head, in design docs at work, and in notes named things like thoughts2.md that I will never find again. This site is the version someone other than me can read.
The three case-study pillars, AWS internals, software (“why X works, why X does not”), and system design, are not categories I picked because they sound impressive on a sidebar. They are simply the three buckets the notes already fall into. The blog is for everything that does not need a case study’s room, including, possibly, complaints about YAML.
Tech choices are deliberately boring. Astro, MDX, static output, nginx in front. The site ships almost no JavaScript, because the writing is the product, and a content site has no business pulling in a 400KB runtime to render a paragraph about Postgres. If the build pipeline broke tomorrow and I vanished into the woods, the dist/ folder on disk would still serve.
The other reason, the honest one, is that writing forces clarity. If I cannot explain why something works under load, in plain prose, without hand-waving past the bit I do not understand, then I do not understand it. The compiler is forgiving. A reader is not. This site is the forcing function.
More soon. Probably.