Timeline

Everything that mattered, in order. Where there is a post with the full story, the milestone links to it.

  1. The GitHub organisation is created

    Ten repositories on day one, mostly research tools and early website experiments.

  2. First commit to ZooLog

    A keeper app on Cloudflare Workers and D1 from the very first line. There was never a server to migrate.

  3. ZooLog gets a mobile app

    Started in Flutter, so one codebase could serve iPhone and Android keepers.

  4. Tappy, an MVP for tipping

    A tip page, Stripe Connect and a fee model where the customer pays and the worker keeps every penny.

  5. Tappy becomes TipBop

    More than sixty names screened. All 51 short .com names we tried were gone, and "Tappy" already seemed to belong to a payments brand.

  6. The green dashboard that lied

    A health check said TipBop was fine while it ran on a test payment key. Deploys now prove themselves against the live service.

  7. The first guard hook

    After two near-misses with credentials in agent output, a hook starts blocking any command that would print a secret.

  8. The first retro of our agent sessions

    129 sessions read end to end. In 39% of them Mark had to ask for the next prompt himself.

  9. TyreStack gets its name

    A rename across cloud projects, cookies, databases and domains in one afternoon.

  10. We test AI photo recognition, and say no

    Twenty-eight test photos. The best model got 10 right; the other answered with full confidence every time and got 13 wrong. The feature stays switched off.

  11. Linear retired, tasks become files

    The estate project alone had 406 open issues. Each live one became a Markdown file in its own repo, driven by a tiny CLI.

  12. Bots play our puzzle game through real touches

    They caught SwiftUI dropping finger positions when a frame ran late: one chain the engine scored +672 played as +80 in the app.

  13. A sign-in standard with no passwords

    Email codes plus Apple, Google and Microsoft. No auth vendor, sessions we can revoke.

  14. 24 files locked to exact bytes

    TyreStack imports its scheduling engine unchanged. A hash locks 24 files to Ed’s commit, and the gate fails if one differs by a byte.

  15. Fourteen review prompts and a critic

    One recorded run found twelve candidate problems. The critique refuted two, and seven fixes shipped that afternoon.

  16. A Google Cloud zone goes down, and we leave

    Databases in europe-west2-b went dark at 06:02. By 15:45 TipBop was running on Cloudflare and its Google project was deleted.

  17. Alerts get a second path

    Every alert now goes to Slack and email independently, with a canary that tests both every week.

  18. Ten thousand simulated worlds

    Before any paying fitter, TyreStack’s rewritten scheduler matched the old engine call for call across ten thousand generated worlds.

  19. An undo window for fitters

    Thirty seconds to take back a Done tap, but only while undoing it would not falsify the stock or money records.

  20. ZooLog goes fully native

    134,442 lines of Dart replaced with Swift and Kotlin in about a week, with an upgrade built to keep keepers signed in and their drafts intact.

  21. A second Mac joins the CI pool

    Builds spread across runners on two machines, and the daily work Mac stops competing with its own builds.

  22. A slow Mac with idle cores

    The work Mac felt slow and the load average read as high as 30. Measured at a load of 8 to 14, the cores were mostly idle; memory was full. The fix was moving work, not buying cores.

  23. Designing for wet gloves

    Five choices in ZooLog+ for keepers who work outdoors, one-handed, with patchy signal, and the research behind each.

  24. A £10 ceiling on every metered vendor

    October’s CI bill went past its budget. Now every metered service has a hard cap enforced in code.

  25. The pre-launch checklist, with its sources

    Every line on the client-site launch checklist traces to an incident or a decision. Most of it is now automated.

  26. One name: zxn.uk

    Everything we build and sell now goes out under one brand.

  27. Prices come off the website

    A Get a quote form replaces every public price on zxn.uk, after 13 sales tactics were dropped or fixed.

  28. Apple grants Tap to Pay

    The entitlement arrived after 37 days. The feature is still not live, because swapping the build in review would cost its place in the queue.

  29. The case against our own Cloudflare decision

    Five ways it fails, the limits we accepted, and four written conditions that would send us back to Google Cloud.

  30. A one-command website audit

    zxn-audit scores a site and writes a technical and a client report from one run. It gave zxn.uk 94 out of 100.

  31. Six months in, by the numbers

    Mediant Partners Ltd was incorporated on 11 May. The first half-year in repositories, commits and ZooLog logs.

  32. Eleven pieces of design psychology

    A field guide to the published research behind our screens, and the dark-pattern version of each we will not ship.