Personal project · 2026

Cadence Coach

A training app for endurance athletes, with an AI coach that reads your training, sleep and heart rate and tells you what today’s session should be.

Role
Idea, design and build
Since
August 2026
Runs as
app for iOS and Android
Cadence Coach landing page with a phone where the coach opens a conversation

The brief

Athletes without a coach usually follow a bought plan or a spreadsheet. That plan was written before the season started and knows nothing about a bad night or a missed week. I wanted a coach that reads your own data and backs every piece of advice with numbers, even when the honest answer is to do less.

Built withExpoNext.jsSupabaseClaude API

What I built

  1. A coach that reads your data
    The coach reads your sessions, sleep, HRV and resting heart rate, and adjusts your day to match. Every swap shows what both sessions cost in load.
  2. Training science in code, not in a prompt
    The maths for load, form and progression lives in tested code. Hard limits, like how fast your running volume may grow, are ones the coach cannot get around.
  3. A season around your race
    You pick one goal race and the hours you have. The app builds the season backwards from that date, for swimming, cycling, running and strength.
  4. An admin built around privacy
    An admin for athletes, subscriptions and what the coach costs. Health data is read-only there, and every view of it lands in an audit log.

The app

The app is the actual product. Athletes talk to their coach, follow their plan and see how their form develops. Built with Expo, for iOS and Android.

  • The coach conversation with today’s session and a note on sleep and HRVThe coachEvery morning the coach reads your night and your heart rate. After three short nights it moves the hard session and explains why.
  • The plan with the goal race, today’s session and the week per sportThe planYour goal race at the top, today’s session and your week per sport. Everything you do counts towards the next piece of advice.
  • Detail of a bike session with duration, load and powerA sessionDuration, load and power for today, and where the session fits in your week. You can move it or ask the coach about it.
  • Fitness report with fitness, fatigue and form, and bike fitnessYour formFitness, fatigue and form over six weeks, and how you’re developing per sport. The coach points out what’s holding you back most.

The admin

Behind the app sits an admin in Next.js for whoever runs the platform. It shows what the business earns, what the coach costs and who may see which data.

01The overview

Monthly revenue, the number of athletes, what the AI coach costs and open support cases. The numbers come straight from the database, not from a separate analytics tool.

Admin overview with monthly revenue, athletes, coach cost and open cases

02Athletes

Everyone with an account, with their subscription status and whether onboarding is done. Whoever gets stuck along the way stands out straight away.

List of athletes with their subscription and whether onboarding is done

03Health data

HRV, resting heart rate and sleep are sensitive data. This page is read-only, and every time someone opens it, that goes into the audit log.

An athlete’s health data, with a notice that every view is logged

04The coaches

A head coach and six specialists, from physio to swimming. For each one you see which model it runs on, how much reasoning it gets and whether it’s in the free or the paid plan.

The head coach and the specialists, each with their model and plan

05Limits for the coach

Rules the coach cannot get around, like how fast your running volume may grow. Some refuse a plan, others only ask for an explanation. On top of that, the AI may only write a limited amount per athlete per day, so costs never run away.

Limits for the coach: training rules and spend limits

06Revenue

Monthly revenue, subscribers and churn over ninety days, with what Stripe kept in fees and what was refunded.

Revenue with monthly recurring revenue, subscribers and churn

07Retention

Per signup month: how many athletes are still active after one, two or six months. An empty cell means that month hasn’t happened yet, not that it’s zero.

Retention by signup month

Cadence Coach is still in testing. The athletes, sessions, health data and amounts in these screens are made up.

Need something similar?

A website for your business or club, or a tool that replaces a messy process. Email me your idea and I’ll let you know within a week whether it’s a fit.

Email your idea

Other project

Platform landing page for the fictional agency KolmDigital agency, internal · 2026BureauplatformThe platform a digital agency runs its business on: sales, quotes, planning, hours and reports in one place.View Bureauplatform