#testing
Tests, goldens and gates.
2026
The checklist before a client site goes live
Deep diveEvery line on our launch checklist traces to an incident, a decision or a question nobody could answer by looking. Here is where each one came from, what we automated so the list stays short, and what no checklist can prove.
Rewriting ZooLog in Swift and Kotlin in a week
Case studyOn 19 October the ZooLog mobile app was 134,442 lines of Dart. On 26 October it was Swift and Kotlin, opening the old app's database and settings where they lay. What it took, and why we have no better reason than a director's call.
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.
24 files we are not allowed to edit
Deep diveEd proved his scheduling engine against ten thousand simulated worlds. TyreStack imports it unchanged, locks 24 files to his exact bytes with a hash, and the gate fails the moment one of them differs.
A thousand synthetic finger drags
Deep diveA bot playing our iOS puzzle game through real touch events caught SwiftUI dropping finger positions whenever a frame ran late, turning a +672 chain into +80. It also caught a Release build that no longer compiled.
A green health check and an empty database
PostmortemTipBop moved to Cloud Run on 17 September with a test-mode Stripe key, placeholder secrets, no data and no photos. The health check said ok the whole time. What it was checking, what it should have checked, and the two guards we added.