Kristopher Baker iOS roots · Product systems · AI-assisted workflows
← Domestique

shipped · 2026.05.20 · 1 min read

A workout game I did not plan to write

Indoor intervals are boring. That is the core problem every trainer has. So somewhere in the first week I started a small experiment: render the workout as a 2D side-scrolling cycling game in SpriteKit, with the rider's speed driven by my actual power.

It got away from me, in the good way. The rider hops on a trackpad swipe, leans into corners, stands out of the saddle on climbs and tucks on descents. There are day-night cycles, weather, themed environments, parallax birds, and a ghost of your personal-best ride to chase. The finish screen is a real telemetry readout: NP, IF, TSS, time in zone, a power curve, and a stack of career stats that persist across every session.

None of this makes me fitter than a plain target number would. But I finish more of my hard intervals when there is a hill on the screen and a personal best to beat, and that is the only metric that counts here. The pixel art and sound came later, through an Aseprite asset pipeline.