CrankPilot
A road bike bolted to a turbo trainer in a domestic garage before dawn, lit by a single work lamp hanging from the rafters.

The trainer holds the watts. You hold on.

Pick one of 42 structured sessions and CrankPilot drives your smart trainer through it in ERG mode, target by target. There is no world to ride through and nobody to race. Just the interval, and whether you can stay on it.

01

42 workouts, from recovery to VO2max

Endurance, sweet spot, threshold and sprint work, three FTP tests, or a .zwo file you brought from somewhere else. Every target is a percentage of your FTP, so the same session scales as you get fitter. It never asks how you're feeling.

Interval profile · work laid down over time and watts

64100220WMinutes held at 220 W681086015304560 min
0.2 kJ
4.2 kJWork in one cell — one minute by eight watts. Six steps, one hue. Under 0.2 kJ a cell stays dark.

Sweet Spot Pyramid — 6-8-10-8-6 minutes at 88% of FTP, drawn from the workout file before you clip in. One of the 42.One cell is one minute by eight watts. Its brightness is the kilojoules the file puts in that cell, so a five-minute ramp — the same work spread across a moving wattage — comes out dim and diagonal, and a held block comes out as one hard bright band. The power axis shows the band 64 to 256 W rather than starting at zero, the way a spectrogram shows a band of frequencies. Nothing here is measured from a baseline and nothing lit is cut off: the quietest thing in the session is 100 W.
View as tableHide table
Sweet Spot Pyramid, read off the workout file
BlockMinutesTargetStarts at
Warm-up ramp5100 to 220 W0 min
Work 1 of 56220 W5 min
Recovery 13125 W11 min
Work 2 of 58220 W14 min
Recovery 23125 W22 min
Work 3 of 510220 W25 min
Recovery 33125 W35 min
Work 4 of 58220 W38 min
Recovery 43125 W46 min
Work 5 of 56220 W49 min
Cool-down5100 W55 min
A rider's hands on the drops, gloves on, the lamp burning behind the handlebars.
02

ERG mode: the trainer holds the watts

Each block has a power target and the trainer changes its own resistance to sit on it, whatever your cadence does. Down 5% if today is not the day, without breaking the interval.

Target, mid-interval

−5%100%+5%
Power
161 W
Cadence
85 rpm
Heart rate
136 bpm

Read off the trainer and your heart-rate strap. Nothing is estimated from wheel speed.

The lamp and the roller door behind it, haze hanging in the beam.
03

The numbers are done before you unclip

Normalized power 178, intensity factor 0.71, and where the hour actually went by zone. Your power curve runs from one second to two hours, and training load stacks up week over week. It is all computed on the phone the second you stop, so there is nothing to upload and no sync to sit through.

Normalized power
178 W
Intensity factor
0.71
TSS
1
Calories
10 kcal

Zone split · one cell is one percent of the hour

0255075100%Z1 recovery12% · 7.2 minZ2 endurance54% · 32.4 minZ3 tempo32% · 19.2 minZ4 threshold1% · 0.6 min

Z1 12% · Z2 54% · Z3 32% · Z4 1%.One cell is one percent of the hour — 36 seconds — so threshold is exactly one cell, neither inflated to be labelable nor clipped. A band that thin breaks the column's edge instead of trying to be a block. The four published figures are whole percentages and add up to 99, so the column stops one cell short of its 100% rule. That gap is rounding, not missing time, and it is left visible rather than divided up.
View as tableHide table
Zone split of the hour · published figures are whole percent and sum to 99
ZoneShareMinutesSeconds
Z1 recovery12%7.2432
Z2 endurance54%32.41944
Z3 tempo32%19.21152
Z4 threshold1%0.636
Rounding1%

Power curve · one second to two hours

0%50%100%74%29%22%1s5s1m5m20m1h2h
far under
at the ceilingDistance below the best you can hold. The top of the light is the curve.

Your best effort held for every duration, from a standing-start second to a two-hour ride. Everything under the ceiling is lit and brightens toward it, so there is no stroke on the curve at all — the boundary is where the field runs out.The shape, not a result. Nobody's watts are plotted here — the axis is a share of the one-second peak. Yours gets drawn from your own rides.
View as tableHide table
Power curve · shape of the view, as a share of the one-second peak
DurationShare of peak
1 second100%
2 seconds96%
5 seconds86%
10 seconds74%
30 seconds52%
1 minute41%
2 minutes35%
5 minutes29%
10 minutes26%
20 minutes24%
30 minutes23%
1 hour22%
2 hours20%

Training load · fitness, fatigue, form

  • 58 fitness · CTL at week 12
  • 54 fatigue · ATL at week 12
03060Load per dayForm · TSB+20−200+8−131369wk 12

Fitness and fatigue as two channels of one field, in load per day. Each channel is a crest of light rather than a column standing on the axis: the top of the light is the value. Form — the gap between them — drifts underneath as a ribbon on its own axis, cool above the line where you are fresh and warm below it where you are carrying the week, on the same two hues for the same two reasons.Also the shape, not a result. These twelve weeks belong to no rider. CrankPilot works CTL, ATL and TSB out of the rides you actually do.
View as tableHide table
Training load · shape of the view, twelve weeks, load per day
WeekFitness CTLFatigue ATLForm TSB
Week 13238−6
Week 23430+4
Week 33745−8
Week 44052−12
Week 54241+1
Week 64558−13
Week 74436+8
Week 84755−8
Week 95062−12
Week 105248+4
Week 115566−11
Week 125854+4
04

Nobody else is in here

Ride Zwift if you want company on the bike, because it is genuinely good at that. This is the other kind of indoor riding.

The hardware still comes with you. CrankPilot pairs the Zwift Ride controller like any other sensor: on a free ride the shift buttons run twelve virtual gears built off your FTP, and inside a workout the paddles push the ERG target up or down mid-interval, so your hands never leave the bars. Outside Zwift's own app, very little else reads it at all.

05

What it costs

$9.99 a month, $69.99 for the year, first month free. Zwift is $19.99 a month and Wahoo SYSTM $17.99, checked July 2026. There is no account to make and no server of ours holding your rides — each one is yours as a .fit file.

Subscriptions, checked July 2026
AppMonthlyYearly
CrankPilot$9.99$69.99
Zwift$19.99$199.99
Wahoo SYSTM$17.99$179.99

$69.99 for the year works out at $5.83 a month.