km 000 · départ

See what a change to your training does before you ride it.

Good Legs answers using your own rides, then builds the change into your plan. Connect your rides to start.

départarrivée

km 021 · the what-if

Test the change against your own rides.

Drag the same levers the real simulator exposes. The projected power curve, its range, and the per-duration changes move as you do. When a change holds up, adopt it as your plan.

Ask it

tap a question, watch it answer

answered → Your endurance power climbs and your top-end holds. The gain shows up on longer efforts.

Your projected power curveshaded range shows uncertainty
1m5m20m60m

1m

+1W(+0.1%)

5m

+2W(+0.4%)

20m

+6W(+1.6%)

60m

+8W(+2.6%)

Or start from a scenario

Endurance8h/wk
Threshold1/wk
VO2max1/wk
Sprint0/wk
Recovery50%
Horizon60d

~8h Z2 · 2 hard/wk · 60d rollout

Adopt this plan
plate no. 01 · the simulator

km 058 · every ride

Good Legs coaches every ride and adapts as you go.

06:40 · The brief

You get today's session, its targets, and the reason it is on your calendar. One session, not a menu.

17:12 · The ride lands

When your ride syncs, Good Legs compares it to the target and tells you how it went, in plain language.

17:15 · The plan moves

Your plan adjusts around what you actually rode, and you see exactly what changed and why.

If you go long on a hard day, the threshold session moves to Sunday and tomorrow goes easy. Your plan follows the week you actually rode and stays pointed at your next race.

km 094 · the read

Every claim carries its number.

When Good Legs tells you what is holding you back, each finding points at the rides it came from. You can check its work, the way you would check a coach's.

This week's read

Every claim points to the ride it came from

Your FTP at 360W has held inside a 6W band for the last 13 months^1. Your ceiling is higher than that. Three things are holding you back.

  1. 1. Back-to-back hard days

    Out of your last 14 hard sessions, 9 landed less than 24 hours after the prior hard session^2. Threshold τ_fit is 14d, τ_fat is 7d. The next stimulus arrived before the last one finished.

  2. 2. Anaerobic system dormant

    30-second to 2-minute power is flat across the season. W' is 18.4 kJ, 14% below your career peak^3. No race-attack repeats or 30/15s in the log for the last 9 weeks.

  3. 3. Durability cliff

    5-minute retention drops from 95% fresh to 78% after 2,500 kJ^4. The literature (Maunder, Van Erp) calls this a finishing-strength gap, not a fitness gap.

Citation table

  • ^1users.ftp_w 12-month series= 374W -> 360W (-3.7%)
  • ^2context_tags hard_back_to_back= 9 / 14 sessions (64%)
  • ^3L1 fit, w_prime_kj_median= 18.4 kJ
  • ^4durability_observations.retention_pct 2500kJ_p300= 78%

Connect your rides and see your first read in seconds.

Connect my rides

km 121 · arrivée

Free while we're in early access.

Bring the plan you already follow, or let Good Legs build one. Either way, it reads every ride against the plan, grades how closely you're tracking it, and tells you where to adjust. It works alongside your coach, it does not replace them.

Good Legs, early access
Freefor now
free while we're in early access
  • Try a change to your training and see what it does, then adopt it as your plan
  • A read of what is holding you back, ranked, with the number behind each one
  • A plan built to answer it, never an off-the-shelf template
  • Every ride coached: the session and why, then what it did and what changes
  • Weekly check-ins that reshape the plan around the training you actually did
  • Workouts exported to Zwift, your calendar, and intervals.icu