Journal

I built my own running coach

Originally posted on LinkedIn

After my first half marathon I wrote that it taught me nothing about product management. The training was a different story.

I got from the emergency room to the start line with a herniated disc, and part of the reason is an app I built called Bloom.

In June it was a small fix for a daily annoyance. I had two rehab and strength programmes from my physio as PDFs, a running plan in another app and health stats on my watch. None of them knew about each other, or about how my back felt that morning. So every Sunday I stitched the week together by hand.

Over the summer it grew into a proper coach for running and strength. It pulls my data from Garmin. It eases off when I tell it something hurts. After a break it rebuilds slowly before the hard sessions come back. And after every run it writes a short note, the way a good coach would, often ending with something like: “If your legs still feel heavy by midweek, move the next session a day. That is your call.”

That line took longer to get right than any feature.

Most training apps are designed for the week that goes to plan. The product decisions that mattered were about the other weeks. What happens when I miss the key session? How do you tell someone their fitness is lower than it feels, without making them want to give up?

The coach's voice is built on research into how good coaches give feedback. The training rules follow Seiler, Jack Daniels's running formula and a large 2025 study on running injuries. AI wrote most of the code. The calls were mine, tested on my own legs.

Most recently at Sicklaloppet: ten kilometres, three weeks after my last run. The note afterwards said I had held back well, but my heart rate hadn't. Fair.

Building Bloom made me clear about what I want next: to build AI products end to end as a product person, and to help teams learn to work this way, like I do with my students at Hyper Island. I'm available for new assignments from the new year, possibly earlier.

All journal entries