Backend engineering since 2012. Most of it agency work on e-commerce platforms — high-traffic stores processing transactions and customer data, including Dyson’s. The kind of systems where an outage means lost orders rather than a failed build. Four of those years were on day rate, including a booking-and-payments platform I designed, built and then ran for the same client for four years.
Then I stopped. Six years travelling, March 2020 to March 2026, no software in any of them. What brought me back was coding agents — I could suddenly build the things I had only ever been able to spec. What I build and operate now is a live scheduling, payments and video platform — web and Android, Next.js, React Native, Postgres, Stripe Connect with cross-border payouts — carrying real bookings and real money.
I bring the delivery pipeline with me: a merge gate that has to be green before anything lands, a coverage floor that only ratchets upward, migration-drift and deployment checks, and the decision records that say why each of them exists. The two systems written up below are described with their trade-offs and mistakes intact, not as a portfolio list.
And I build almost entirely with coding agents — more than 8 in 10 commits across those systems were written or co-written by an agent, counted from git history, not estimated. The same sessions provision the servers, run the deploys and maintain the decision records the next session reads. It is mostly a story about verification rather than generation: what I built is the system they operate inside. How that works is stated plainly rather than left to be inferred.