Kaizen was first started by Josh Sambrook, a 2:28 marathoner and sports scientist. He had worked out a unique approach to training at university and used it as a coach, and it worked. In fact I had used it the year before to record a PB in the Berlin marathon. He had built a rough spreadsheet to do the calculations for himself and a select group of early adopters, under the name Jetset. What he and fellow co-founder Michael needed was a brand and an app experience people would remember.
The method was about consistency. Not the heroic session, but the sum of all of them. Small, granular changes that add up to something significant. It was that principle that led me to argue for the name Kaizen, the principle of continuous improvement with Japanese origin.
The logo grew out of the original Jetset logo but pulled towards the idea of constant quiet progress that could expand first into the landscape and typography then into a full system. As this work developed I talked to the customers Josh had, then built initial flows and screens.
Kaizen’s north star, and the main thing people interacted with week to week was the doughnut, an interface that told each user how much to run this week, filling as the number ticked down and they made progress.
An identity gets tested when the product underneath it changes, and Kaizen changed a lot in the years I worked on it but one significant example was the feed. Kaizen broke with the normal mental model people who run marathons had, which was fine but users kept asking for a training plan, and giving them one would have broken what made Kaizen unique. But with careful analysis and reflection we realised that what people were really after was clear orientation - signal in the noise that they could trust across time, so our static dashboard became a navigable timeline. Trial-to-paid conversion went up 10.9%.
Underneath all of this is a design system I built from scratch and have evolved slowly since. Every colour, spacing value and type style is tokenised, and it’s now in a state where an ai can read it and build against it. Slow evolution was deliberate. A system that changes with every release isn’t a system.
This was the approach to how we built it:
- setting out the foundations
- having primitives
- components
- patterns
- more complicated things built out of those basic building blocks
All done in Figma, all tokenised with variables (including text, numbers, booleans, and colours), and ordered in a way that an MCP could understand. We utilised that in testing different varieties of pages that we tracked. For example, in onboarding.
Kaizen was never going to be the loudest app in the category. It was built for what we came to call the thinking runner, someone who knows training and is tired of the noise. The identity had one job: feel like that runner. Calm, consistent, quietly getting on with it. Three years and several rebuilds later, it still does.