La Fit Team
Sports coaching platform

The iOS app
App screenshotsScreen by screen

01Your energy: today's score and the coach's planned workout, ready to start.

02The program week by week, with target paces for each workout.

03The tools: free workout, history and records, agenda, routines, gym sessions, treadmill.

04The morning report, written on-device by Apple Intelligence.

05The energy score breakdown, factor by factor.

06The licence: the app only reads the file prepared by the coach, with its personal code.

07Welcome: your program, your workout, your energy.

08A workout, step by step.
Role
Freelance for two sports coaches
Program catalogue, Stripe payments, back-office, and an engine that generates personalised running programs, with paces and heart-rate zones derived from VMA. A licensed iOS app, locked to each client's plan, completes the platform.
What's inside
- Program catalogue and Stripe payments.
- Back-office for the coaches.
- Automatic generation of personalised running programs, with paces and heart-rate zones derived from VMA.
- Licensed iOS app, locked to each client's plan.
In detail
01Two halves, one file between them
A coaching platform for two coaches, strength and hyrox on one side, running on the other, in two halves that share the same Supabase and the same Stripe: a showcase site with questionnaires, sales, delivery and back-office, and an iOS app that plays the purchased programme, session by session, locked to its owner's file.
The link between the two is the programme's Excel file, which carries an activation code.
02The website
React 19, TypeScript, Vite 7, Tailwind 4, React Router 7, deployed on Vercel. An orientation quiz routes to the right offer: the running quiz asks for the goal, the real race date, level, reference time, volume, available days, and the client never picks the coaching length, the site computes the remaining weeks and derives the offer and price.
The purchase funnel: quiz, payment page, edge function that creates the Stripe session at the real database price, then webhook. On validation, the webhook records the sale, creates the app licence, generates the full Excel programme, stamps it with the code, sends the coach the client sheet and the file, and the client a confirmation announcing the app.
The programme generator is the densest piece: VMA derived from the reference time, paces and five zones, automatic periodisation from the remaining weeks, sessions built and placed on the ticked days, long run at the weekend, one sheet per week in the coach's own file format.
The back-office, reserved to two e-mails: programme CMS, single videos, custom requests, running sales with the file to re-download, and app licence management: who activated, on which phones, cut or reopen access, stamp a hand-written file.
03The iOS app and its licence
It is the programme's app, not a sports app: no account, no catalogue, no programme shipped with it. Without the coach's file activated, it shows nothing.
The front door: three commitments to tick, none pre-ticked; the file, whose code the app reads; then a six-digit code sent to the purchase e-mail. That is where the real protection lies: the file can be passed on, the mailbox cannot. The device is bound, two at most, with a token re-checked at each launch and 14 days of offline tolerance. If the coach cuts access, the app locks and removes the programme.
The code is written twice in the file: a visible line, and a hidden sheet carrying the programme's stable identifier, which allows updating it without losing completed sessions. The parser understands weeks, repetitions, recoveries, paces, heart rates in bpm or percent, and flags contradictions instead of choosing silently.
Three tabs: Energy, a score computed locally from Health and narrated by Apple's on-device AI; Week, the programme as a queue of sessions with intervals sent to the Apple Watch and planned-versus-actual comparison; Tools, free session, history, routines, treadmill, chest strap, Strava export. Everything lives on the phone. 644 behavioural tests, three builds on TestFlight.