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.

  1. 3 min read

    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.

    • postgresql
    • data-modeling
    • education
  2. 3 min read

    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.

    • product-engineering
    • testing
    • education
  3. 2 min read

    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.

    • documentation
    • architecture
    • mobility
  4. 2 min read

    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.

    • reliability
    • automation
    • ai-agents
  5. 2 min read

    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.

    • ai-agents
    • cli
    • developer-tools
  6. 3 min read

    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.

    • ai-agents
    • testing
    • developer-tools
  7. 2 min read

    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.

    • architecture
    • self-hosting
    • kafka
  8. 2 min read

    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.

    • data-modeling
    • payments
    • postgresql
  9. 3 min read

    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.

    • state-machines
    • concurrency
    • mobility
  10. 2 min read

    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.

    • performance
    • php
    • mobility
  11. 2 min read

    Keep the hot path honest

    Why a trading core decouples execution from everything downstream, and what that buys you under load.

    • distributed-systems
    • kafka
    • architecture
  12. 2 min read

    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.

    • real-time
    • websockets
    • edtech