Why This Blog Exists
Fifteen years of notes that lived in Slack DMs, call recaps, and scratch files — collected somewhere they can actually be found.
Most of what I’ve learned in fifteen years of customer-facing engineering never got written down anywhere durable. It went into a discovery-call recap, a scoping doc for one deal, a Slack thread that scrolled away, or a scratch file on whichever laptop I had at the time. When the same question came up eighteen months later — and it always does — I rebuilt the answer from memory.
This is the fix. Nothing more ambitious than that.
What lands here
Three things, roughly:
- Solutions architecture in practice. Not reference diagrams. The parts that actually decide whether a deal closes: how to scope a POV so it proves something, what to do when the customer’s stated requirement isn’t their real one, when to say a thing won’t work.
- LLM agent systems. I build internal tooling with them — multi-agent orchestration, retrieval, evaluation harnesses. I care about the boring parts: what breaks in production, what the failure modes look like, what a useful eval actually measures.
- Offensive security. Attack surface management, cloud forensics, red team infrastructure. Fifteen years of finding things that shouldn’t have been reachable.
What doesn’t
No vendor comparisons, no hot takes on last week’s model release, and nothing about a specific customer or employer. If a post is drawn from real work, the details are changed enough that it’s a pattern rather than a story about someone.
How it’s built
The whole thing is Markdown compiled to static HTML by a ~300-line Python script and
synced to S3. No CMS, no framework, no JavaScript beyond a scroll animation and a
<script> tag that fills in the copyright year. Writing a post means:
vim blog/posts/2026-08-05-something.md
python3 blog/build.py
./blog/deploy.sh
That’s deliberate. Every piece of infrastructure between an idea and a published page is a piece of infrastructure that eventually stops you from publishing. I’ve watched enough personal blogs die of stack maintenance to keep this one boring.
The best writing tool is the one you don’t have to maintain.
More soon. It’ll be irregular — I’d rather post four times a year with something worth reading than weekly with filler.