←Back to writing
·5 min read

Shipping Workout Lens: 2 Years to Overnight Success

The story behind building an Apple Health workout analysis app — from the first line of code to the App Store. Two years of solo development, countless rewrites, and the lessons learned along the way.

workout lensiosindie hackingapp store

The Idea

It started, like many indie projects do, with a personal problem.

I'm a runner. Not a particularly fast one, but I log my miles religiously. And like every runner with an Apple Watch, I had years of workout data sitting in Apple Health that I couldn't do anything meaningful with. The default Workout app showed basic summaries. Third-party apps were either bloated, ad-ridden, or required subscriptions for anything useful.

I wanted three things:

  1. Deep analytics — heart rate zones, pace trends, elevation profiles
  2. Data export — get my workout data out of Apple's walled garden
  3. AI coaching — actionable insights from my training history

None existed in a single, well-designed app. So I decided to build one.

The Reality Check

I wasn't an iOS developer. My background was in web technologies and, more recently, AI/ML. Swift was a new language. SwiftUI was a new paradigm. Core ML was a new framework.

The first three months were brutal. I rewrote the data layer four times. I fought with HealthKit's notoriously complex API. I discovered that Swift's strong typing, while initially frustrating, was actually a superpower for building reliable data pipelines.

But I kept going. Every evening after work. Every weekend. Learning, building, iterating.

The First Prototype

Six months in, I had a working prototype. It could:

  • Read workout data from HealthKit
  • Display basic heart rate and pace charts
  • Export data to CSV

It was ugly. The UI was functional at best. But it worked, and it validated the core concept.

I showed it to a few runner friends. Their reaction: "This is exactly what I've been looking for." That feedback kept me going through the next eighteen months.

The Long Middle

Months 6-18 were the hardest. The initial excitement had worn off, but the finish line was still far away. I was building features, polishing the UI, and wrestling with the complexities of health data — all while working full-time at ABB.

Key decisions during this phase:

Privacy First

From the beginning, I decided that all AI processing would happen on-device. No workout data would ever leave the user's iPhone. This meant using Core ML and quantized models that could run on a phone's neural engine.

This was a bet. On-device AI is harder to implement, more limited in capability, and slower to iterate on. But it was the right call. Privacy isn't a feature — it's a foundation.

AI Coach Pro

The biggest feature addition was AI Coach Pro — an on-device AI that analyzes your training history and provides personalized coaching advice. It took six months to build, three major rewrites, and a lot of experimentation with model quantization.

The breakthrough came when I stopped trying to make the AI sound like a human coach and instead focused on making it sound like a data-driven coach. Users don't want platitudes. They want: "Your heart rate in Zone 4 for 23% of this run suggests you need an easier session tomorrow."

Internationalization

Supporting four languages (English, Dutch, German, French) taught me more about app architecture than any tutorial ever could. String catalogs, dynamic layouts, RTL considerations — the rabbit hole is deep.

The Launch

When I finally submitted to the App Store in 2024, I expected rejection. I'd heard the horror stories about review processes.

It was approved on the first try.

The launch was... quiet. No viral moment. No App Store feature. Just a steady trickle of downloads from organic search and a few posts on running forums.

But those early users loved it. Reviews were 5 stars. Retention was high. People were sharing it in running clubs and cycling groups.

The Real Overnight Success

Eighteen months after launch, Workout Lens hit a tipping point. A well-known running YouTuber mentioned it in a video. Downloads spiked. Then a cycling blog reviewed it. More downloads. Then Apple featured it in the Health & Fitness category.

What looked like an overnight success was actually three years of consistent work: building, listening, improving, repeating.

Lessons Learned

1. Ship Before You're Ready

My first version was embarrassing. I shipped it anyway. The feedback I got from real users was worth more than another six months of solo development.

2. Constraints Are Creative

Building solo, with limited time and no budget, forced creative solutions. The privacy-first approach was born partly from the constraint of not wanting to run (or pay for) a backend server.

3. The App Store Is a Marathon

Downloads don't happen overnight. They compound. Every positive review, every word-of-mouth recommendation, every forum mention adds up over months and years.

4. Your Users Know Best

The best features in Workout Lens came from user feedback. The AI Coach Pro suggestions format, the GPX export option, the dark mode default — all requested by users.

5. Keep Your Day Job

Building indie products while employed gave me the freedom to make decisions based on what was best for the product, not what was best for my bank account.

What's Next

Workout Lens continues to evolve. iOS 26 brought new HealthKit capabilities that I'm integrating. The AI Coach is getting smarter. And the community of users keeps growing.

Two years to overnight success. Worth every minute.


Download Workout Lens on the App Store. Follow the journey on X (@MintJane_).