I built an on-device FIT analysis app for iOS — looking for feedback

Hi all — I’m Brad, a cyclist and solo developer from Perth, Australia.

I built an iOS app called Crux because I wanted to analyse my FIT files without uploading them to another cloud service or taking on another subscription. Import FIT files—or a full export ZIP—and everything runs on your device: no account, ads or ride uploads.

Bonus for the data-minded: FTP, weight and HR are stored as dated values, so every ride is scored using whatever was in effect that day—and you can edit that history at any time.

Also included:

  • NP, IF, TSS and fitness/fatigue/form trends
  • Power-duration curves (W and W/kg) over any date range
  • Power and HR zones, interactive ride charts, automatic climb detection and time-in-gear
  • GPX courses with named climbs and estimated climb times
  • Bike, drivetrain and service tracking
  • Gearing, climbing and tyre-pressure calculators

Crux isn’t trying to replace TrainerRoad’s planning or adaptive training—think of it as a private analysis layer for exploring your own files.

Honest limitations: it’s iOS-only, imports are manual, and I’m the sole developer.

It’s currently in App Store review, with TestFlight access available now. Comment or message me if you’d like to try it.

What analysis do you use most—and what do you wish existed but can’t find anywhere?

It’s free now, and early users keep access for good. Any future charge will be a one-time unlock, never a subscription.

Thanks—I’m very open to technical criticism.

Cheers, I’ll check it out. (Aussie also, in NSW)

Besides the joy / satisfaction of building this, what problem are you trying to solve?

I’m asking because you are implying one benefit is on device analytics / no use of a cloud service, which is only a benefit if the user is generating the FIT file not connected to a cloud service - e.g., using something like Golden Cheetah to control your trainer

Or am I missing something?

Hey, thanks for the questions.

There are a few things I’m trying to solve. Part of it is simply the joy of building something myself and solving my own problems. I use Garmin for outdoor rides and sync to Strava, but I’ve always found that neither platform is quite how I personally want to dig into rides afterwards. That’s not a knock on them — they’re solving different use cases, and they’re great at what they do.

The FIT file analysis actually came later in the build. I started by making a tyre pressure calculator. I know there are websites that already do this, but I often find them a bit painful to use. I also spend a silly amount of time comparing drivetrain options, so I built a comparison tool for that too. So I guess the app started as a set of cycling calculators that I wanted to be easy, useful, and nice to use.

Then I had a gravel race coming up — Seven in Nannup, near where I live, which is also hosting this year’s UCI Gravel World Championships final in October — so I built GPX import to help plan the climbs and pacing. From there, importing FIT files felt like the next natural step.

Longer term, I’d like to add sync with Garmin, Wahoo, and Hammerhead if I can get developer access. I’m not expecting to make a fortune from it — though I wouldn’t complain if it helped fund a new gravel bike one day!

The main theme is that I want cyclists to have tools that look great, feel enjoyable to use, and are focused on practical ride analysis. I also think there’s room for smaller, independent tools outside the big platforms. With AI and modern development tools moving so quickly, it feels like we shouldn’t necessarily be locked into perpetual subscriptions just to analyse our own ride data.

Hope that makes some kind of sense.

Cheers,
Brad

Hey fellow Aussie!

Hopefully won’t be much longer until Apple give me the tick and its on the App Store. Until then feel free to DM me, if you’d like access to the test version.

Cheers,
Brad

Its live on the Apple App Store now for anyone interested https://apps.apple.com/app/crux-cycling/id6777387798

It’s also on Android Play Store now. Made some updates as well.

New: an honest FTP estimate from a genuinely steady effort, backed by a Critical Power model and your FTP’s journey over time.

New: Durability — how much power you keep deep into a ride.

New: Palmarès — every climb you’ve ridden, matched across rides, with your PRs and whether you’re getting faster.