#data
Databases, migrations and numbers.
2026
Six months in, by the numbers
By the numbersMediant Partners Ltd was incorporated on 11 May 2026. Six months on: 195 repos, 5,795 animal logs in ZooLog, 4,710 commits in the five repos we work in most, and a November repo count that needs an asterisk.
An undo button that tells the truth
Field notesA TyreStack fitter now gets 30 seconds to take back a Done tap, but only while undoing it would not falsify the stock or money records. The same audit found our board plotting jobs at invented places.
Postgres to D1, with the rollback timed first
Deep diveD1 has no interactive transactions, and TipBop's payouts relied on them. How we moved a tipping app in beta off Postgres in a day: a lease row for the locks, one schema for 37 migrations, and a rollback we timed before we needed it.
Ten thousand worlds before the first real fitter
Deep diveTyreStack's scheduler had no customers yet, so before launch we built an audited oracle and threw ten thousand generated worlds of bookings, holds and late vans at it, comparing the old engine and the new one call for call.
Three things ZooLog refuses to do, with the numbers
Decision recordWe built photo recognition and left it switched off. Voice can write a keeper's note but never a drug dose. And there is no keeper leaderboard. Three refusals in a welfare app, and the numbers behind each one.
ZooLog is on Cloudflare from the first commit
Decision recordTwo days in, the keeper app runs on Workers, D1, Queues and R2, with no other backend behind it. That was the easy decision. The hard one is what happens when a keeper logs a feed where the phone has no signal.