The Benchmark Where My Own Migration Lost
Replacing regex search with a real search index produced genuinely mixed results. Publishing the rows where the new system was slower is what made the decision defensible.
A Five-Star Rating Can't Tell You Whether You Can Work There
A design exercise for a work-from-cafe app. The interesting decisions were making the important ratings nullable, and finding the rules a database's row-level security genuinely cannot express.
A Vague Acceptance Criterion Is a Bug You've Agreed to Ship
Writing the requirements as well as the code changed what I build. The clearest signal a criterion is broken is that you can't write a test from it without asking someone a question.
Move, Retain, Revoke: Modelling a Reassignment
Reassigning a grader sounds like changing one field. It isn't, and the difference between editing a record and archiving it is the difference between a system you can audit and one you can only apologise for.
The Race Condition Hiding in Every Search Box
A search-as-you-type bug where the results didn't match what you typed. The cause wasn't search quality. It was that the slowest request always carried the least useful answer.
Nobody Needs a Real-Time Dashboard
Analytics pages are slowest for the one person who matters most, the first visitor of the day. What fixed ours wasn't a faster query. It was computing less and being honest about freshness.
A Page Is Not an Endpoint
Why measuring individual endpoints kept missing what users actually experienced, and why the load-test harness only started paying off once someone other than me could run it.
A Convention Without Enforcement Is Just a Wish
Building the codemods and facade layer for a very large framework migration, and watching an agreed-upon convention decay to roughly 7% compliance because nothing in CI was checking.
"Sent" Didn't Mean What We Thought It Meant
A campaign reported 29,566 emails sent while the provider was rejecting nearly all of them. What that taught me about bounce handling, sender reputation, and metrics that fail in the reassuring direction.
Shipping a Tiny Mac App, and Everything I Cut to Do It
A sticky note that docks to the edge of your screen, built in Tauri v2 with no build step. The interesting part wasn't what went in. It was the list of obvious features I refused.
When Every Endpoint Is Slow, None of Them Is the Problem
Investigating a platform-wide slowdown with Grafana and Loki, what the event loop revealed, and an honest account of where an AI pair actually earned its keep.
The Slow Page Was Not the Images
Search Console reported poor LCP across a news site. The obvious culprit was photo weight. It wasn't, and the cache rule meant to fix it had silently never matched a single request.
The Feature Worked Exactly as Specified and Was Unusable
Our CSV import had a 750-row limit, and uploading a second file replaced the first. Every part behaved as designed. A client with 3,000 records still had no way to get them in.
The Making of a Manager — Julie Zhuo
One-liners I keep coming back to from Julie Zhuo's book on what management actually is.
Bullet Points vs Numbered Points: Clearer Team Communication
A small writing habit that quietly improves how engineering teams discuss things in Slack — use numbers, not bullets.