TrainCurve is a training-load platform for endurance athletes — the kind of tool that turns raw workout data into Fitness, Fatigue and Form you can actually act on. The brief was ambitious: a full SaaS with a marketing site, a web app and a native iOS app, built to compete with established players like TrainingPeaks. Here is how we approached it.
The challenge
Endurance software lives or dies on two things: the accuracy of its training-load model and the friction of getting data in. We needed a system that computes CTL/ATL/TSB correctly, syncs from devices, and presents it cleanly on both web and mobile — without a large infrastructure bill.
What we built
- →Web app: Next.js on Cloudflare Workers with Better-Auth and a Consent Mode v2 analytics setup
- →Backend: a Cloud Run API in europe-west1 backed by Cloud SQL Postgres for durable athlete data
- →iOS app: a native SwiftUI client shipped to the App Store
- →Content engine: an SEO blog explaining training-load science to capture high-intent search
Result
A production SaaS running end to end — marketing site, authenticated web app and a published iOS app — on infrastructure that costs a fraction of a traditional stack. See it live at traincurve.com.
The lesson repeats across our SaaS work: a lean, serverless-first architecture lets a small team ship a product that feels like it came from a much larger one.
Work with us
Ready to build something?
Tell us about your project. We'll get back to you within 24 hours.
Start a project