A CV is a lossy compression format. It takes twenty years of decisions, incidents, rewrites, 3 a.m. packet captures and hard-won architectural opinions, and compresses them into two pages of bullet points that an ATS can parse.
This site is the decompressed version.
What you will find here
- War stories. The projects that do not fit in a bullet point: building an SS7 stack from the wire format up, migrating a live payment platform's database with zero downtime, keeping a messaging platform alive through carrier chaos.
- Design notes. Why certain architectures were chosen, what they cost, and what I would do differently.
- Current work. Things I am building now, in Rust and elsewhere.
How this site is built
Deliberately boring: static HTML, one stylesheet, one script, markdown posts. No framework, no database, nothing to upgrade at 2 a.m. Adding a post means dropping a .md file into a folder and running a build script that turns it into a static page, because the crawlers that increasingly decide who gets found do not execute JavaScript, and a blog rendered in the browser is an empty page to them.
That build script is the only concession. It runs on my machine, it has two dependencies, and neither of them reaches your browser.
After two decades of building complex systems, I have strong feelings about where complexity belongs. It is not here.