Logs
Field notes, closer to the work.
Working notes on backend and distributed systems — the decisions, trade-offs, and things learned the hard way. Less polished than the case studies, closer to the work.
-
Let the database keep the promise
One line of DDL versus a fifteen-minute slot grid, hold tokens and promotion logic. Why a tutoring platform's choice of PostgreSQL was a design decision, not a deployment detail.
-
Design for the child with no attendance
A family summary that renders only when every figure is present fails on every real family. Notes from building a platform that serves two very different kinds of student — and the bugs that only a running app could find.
-
Facts a machine can check shouldn't be typed by a person
A wiki page stated a test count, a branch name and two commit SHAs. Six days later all four were wrong and the page looked just as authoritative. How six repositories now keep their documentation honest.
-
Success flags lie
An API that says "activated" and isn't. A timed-out read treated as "nothing there". Notes on building automation that has to keep running when the systems under it don't tell the truth.
-
What claude -p taught me the expensive way
Five things about driving the Claude Code CLI headlessly that you only find out by paying for them — each now a probe script in the repo.
-
Don't let the agent mark its own homework
Coding agents write good code, then report that it works. Two tools I built around one rule: an agent's claim about its own work is never the verdict.
-
Knowing when not to reach for Kafka
I've run CDC and Kafka over hundreds of millions of records. My household platform has neither, on purpose. The judgment is the same one.
-
Money has more than two decimals
One Jordanian dinar is a thousand minor units, and Egyptian riders pay in whole pounds. What two platforms taught me about modelling money across currencies.
-
Make the impossible move a refused call
A trip has seven states and one winner. How a ride-hailing backend keeps six repositories honest about the same trip — and why its test suite alone proved nothing.
-
Measure before you rewrite
A GPS ping on a ride-hailing API cost 62ms. The work it existed to do cost 1.6ms. What was actually slow was a default nobody had tuned.
-
Keep the hot path honest
Why a trading core decouples execution from everything downstream, and what that buys you under load.
-
When the session can't drop
Real-time EdTech has a different failure model than request/response. What it takes to keep thousands of live learning sessions open at once.