Not your traditional developer. the developer.
Field notes on AWS, software engineering, and the unglamorous tooling that makes shipping fun. Long enough to be useful, short enough to finish with one coffee.
Latest writing
9 postsKilling cold starts: how I cut Lambda latency by 70%
Provisioned concurrency is the lazy answer. Here's what actually moved the needle across 40 functions.
One year as an AWS Community Builder — the honest recap
What the program actually is, what you get, and whether it's worth the application.
Choose boring architecture (and other expensive lessons)
We replaced a Kafka pipeline with a Postgres table and a cron job. Nobody noticed. That's the point.
Type-safe environment variables in TypeScript, end to end
Stop reading process.env like it's 2015. A small schema turns config into a compile-time contract.
Designing a CLI people actually keep using
Good flags, sane defaults, helpful errors. The unglamorous craft of command-line tools.
My Neovim setup, rebuilt from zero in 2026
LSP, treesitter, and a config I can actually explain. No 4,000-line init files.
Shipping a side project in a weekend without burning out
Scope ruthlessly, fake the hard parts, deploy on Friday. A playbook from five finished projects.
Rolling my own feature flags before reaching for a SaaS
200 lines, one database table, zero monthly bill. When DIY beats the vendor.
What I learned reading 50 public postmortems
Patterns in how systems fail — and the boring fixes that keep showing up.
Notes: the rubber duck is a real debugging tool
A short field note on why explaining the bug out loud fixes it before you finish the sentence.