I've been building software professionally for 12 years, aiming for the same thing every time regardless of the stack: fast, easy to use, and reliably available. Mostly web applications, with Java behind the scenes doing the work users never see. A few of those years (2015 to 2018) were spent on mobile.

What I'm working on now

Web engineering and performant Java services, plus accessibility — making sure what I build works as well by keyboard and screen reader as it does by mouse, not just passing an automated check.

Alongside that: platform engineering and DevOps (CI/CD, infrastructure as code, observability), and a few lower-level languages — Rust, Zig, Go. I'm newer to these, which is exactly why I write about them — the notes are more useful while I'm still learning than they'll be once it's second nature.

Why this site exists

Writing something down is how I find out whether I actually understand it. A proof I can't reconstruct, an algorithm I can only recite, a paper I nodded along to — the difference shows up immediately the moment I try to explain it to someone else.

So the writing section is a working notebook rather than a publication: mathematics and physics worked through from first principles, computer science fundamentals revisited properly, summaries of papers I've read, and the occasional argument about engineering practice that I'm willing to defend in public — and to revise in public when I turn out to be wrong.