Training, recovery, and nutrition work toward one goal — readiness to race. Here we explain training load (TSS), fitness (CTL), threshold power (FTP), recovery, and fuelling for the day's work. Every formula below is exactly what the site actually computes.
Pro teams call this "fuel for the work required" — fuel matched to the specific work you're about to do or just did.
Your body runs a bike mostly on carbohydrate: it's stored in your muscles and liver as glycogen — think of it as a fuel tank. A hard session drains that tank close to empty. Don't refill it, and tomorrow you ride "on empty": lower power, more fatigue, weaker immunity, and the body starts burning muscle for fuel.
That's why the app matches your food to the day's work from a recorded session — Garmin or Strava. Until a ride is recorded, it can use an estimate from the staff's scheduled session and label it as planned.
The single biggest number of the day. We calculate grams of carbohydrate per kilogram of your body weight, and the target rises with your training volume:
Where the numbers come from: the range follows international sports nutrition guidelines — from 3.0–5.0 g/kg on easy days up to 8.0–12.0 g/kg at high volume.
We calculate it in steps:
From there: carbs and protein give 4 kcal/g, fat gives 9 kcal/g. Fat is what's left after carbs and protein are set, but never below a floor of 0.8 g/kg — it's needed for hormone production.
Protein builds and repairs muscle:
Fat fills the remaining calories, but we keep it no lower than 0.8 g/kg — the threshold for healthy hormone levels.
Right after a session your muscles are "open" and pull carbs back into the tank hungrily (in physiology terms — GLUT4 transporters are upregulated). This is the well-known "carbohydrate window" — the first hour or two, when recovery happens fastest. That's why the day is split into windows:
25% is our choice, no source for this exact number: the "before" limit is actually two caps, and whichever is smaller wins.
This is why the app "pushes" you to eat right after training: miss the window and the tank refills slower, and tomorrow's session suffers for it.
On long rides your reserves aren't enough — fuel has to be topped up while you ride, in grams per hour. The rate depends on DURATION, not intensity:
A hard interval session and an easy endurance ride of the same length get the same rate: the review behind this corridor calls the question of an intensity-based adjustment an open one, not a settled recommendation, so the product doesn't invent a table by session type. One sports gel ≈ 22 g of carbs, so the app converts "grams per hour" straight into a gel count for you.
Baseline is 28 ml/kg per day (for example, 70 kg ≈ 2.0 L), plus whatever you sweat out on the ride. Sweat losses are estimated from the heat:
This is the baseline for a day off the bike: the EFSA figure assumes a moderate climate and ordinary daily activity, not heat and training, so ride fluid is added on top.
This is estimated sweat loss, not a target to drink. Our advice is capped at 1.2 L/h — above that, cycling studies show no benefit.
The L/h-by-temperature scale is our own working rule: the ACSM stand doesn't give a single "temperature → L/h" schedule and instead recommends tracking your own sweat by weighing yourself before and after the ride.
Sweat carries salt with it, so we add sodium in the heat: 500 mg/L, and from 30 °C — 700 mg/L. Without sodium, water "doesn't stick" and cramps become likely.
Garmin Connect is currently connected only for the service owner's account: it supplies training sessions, active calories, and load metrics (CTL/ATL/TSB, VO₂max). Self-service Garmin connection is currently unavailable to other users.
Connecting and signing in through Strava are currently unavailable: the server has no Strava application keys configured. OAuth connection is implemented in the code, but disabled without these keys.
You can use nutrition tracking right now without a device or training history: log food by text or photo, and track water, weight, and sauna manually.
Training-load metrics (the TrainingPeaks / Andrew Coggan model) for interpreting recorded sessions from Garmin or Strava:
Threshold (FTP) is roughly the power you can hold for an hour. Almost everything is derived from it: zones, carbs for a session, how hard a ride was. An error in threshold is an error in everything downstream, so we treat this number seriously.
The usual method is "go all-out for 20 minutes, multiply by 0.95." It has one problem: if you've never ridden 20 minutes flat-out, there's nothing to multiply. Taking your "best 20 minutes on record" doesn't work either — in normal riding that's just the fastest stretch you happened to do, not your limit. The number comes out too low, and the staff under-fuels you and sets your zones too easy.
So we calculate it differently — from your power curve. There's a physiological law: the longer you ride, the fewer watts you can hold, and that drop-off isn't random — it follows a formula:
The staff takes your three best efforts over the last 90 days — 2, 5, and 12 minutes — and solves for threshold from them. These three, not 20:
The 12-minute point is the anchor. Threshold can't be pinned down from short efforts alone: a mere 5% error at two minutes shifts the answer by 36 watts.
Where this method comes from. This isn't something we invented. A 2023 study calculated threshold exactly this way — from the best 2, 5, and 12 minutes in ordinary rides — and compared it against real lab testing. The gap was 5–7 watts. One of the authors, Jeroen Swart, is the team doctor for UAE Team Emirates (Pogačar's team). In other words, this is literally a pro-tour method, not an amateur formula.
No formula can read minds. It only sees watts and has no idea whether you were actually digging deep or just riding for fun. That's why the staff always states how confident it is:
"mean bias was 60w (95% CI 27 – 92w), percentage error 15.2% ± 3.39" — no race among the points.In a race, people genuinely go to the well — in training, rarely. No races in your history → the staff honestly lowers its confidence.
"mean bias was 9w (95% CI 6 – 25w), percentage error 2.34% ± 1.95" — with a race day among the points.
Threshold is never changed silently: the staff shows the new number, explains where it came from, and only saves it if you tap "Save."
Your rider passport shows a “spider web” — a figure of strength. The idea is simple: a single FTP number tells you what you’re like on long steady work, but says nothing about your punch. So we look at power across four different durations — and the shape of the figure shows what kind of rider you are.
Watts are divided by your weight (W/kg — that’s what matters on a climb) and converted into a 0–100 score against Coggan’s reference table, where 0 is untrained and 100 is world class. The score exists only to make the axes comparable: there’s no other way to put 1000 W for 5 seconds and 300 W at threshold side by side.
Your type is set by the shape of the figure, not its size. What matters isn’t how many points you have, but which axis sticks out above the rest:
The practical point: your type tells you how it pays to ride a race. A puncheur has no business dragging a breakaway the whole distance — his weapon is a short burst at the right moment. A tempo rider, conversely, shouldn’t wait for a bunch sprint.
Why we take the median of the three best, not the record. This isn’t nitpicking, it’s protection against a lie. A power meter occasionally throws out a one-off spike — and on that spike alone the score would jump to “world class” where the real shape is more modest. So each axis uses the median of the three best efforts: real progress moves it (a new record pushes the old one into second place, and the median rises), a one-off sensor glitch does not.
The profile updates itself: it isn’t a snapshot but a recalculation across your whole ride history every time you open the passport. Set a new record and the axis grows, with a fresh-record marker lighting up next to it.
Full breakdown: what type of rider am I → (in Russian) — where every one of the eight boundary pairs comes from, what in the chart is ours on top of Coggan’s table, and what the card shows with no power meter at all.
Your rider type is a description, not a training programme. The temptation is obvious: if you’re a puncheur, train your one-minute power. That’s not how preparation is built, and here’s why.
First: general before specific. Periodisation places specific work — aimed at your type and at the actual course — close to the event, in the peak and taper. During base and build you train the limiter: whatever genuinely caps your result in the target race. Your strength isn’t going anywhere; the room to grow is where the hole is.
Second, and less obvious: explosive work rests on an aerobic base. In a race you need the kick not once but five times. Between efforts the body rebuilds phosphocreatine — the muscle’s fast battery — and it does so through the oxidative pathway. So the ability to repeat accelerations is capped not by the kick itself but by your aerobic system and threshold. For a puncheur with a sagging threshold, the first attack is excellent; the third one isn’t.
Hence the staff rule built into the reviews: in the base and build phases the limiter comes first, and type-specific work is sharpened in the peak. If a review does assign type-specific work earlier, it must explain why it matters more right now.
| Type | Where it wins | Limiter | Base & build | Peak |
|---|---|---|---|---|
| Sprinter | The finishing straight out of the bunch | Arriving in position: bunch position and teammates decide a sprint's outcome more often than a power difference does; on hilly stages a sprinter is dropped before the finish, not in the sprint itself | Volume and threshold; sprint sets stay short and regular — for the skill, not to add to the peak | Jumps off the wheel, positioning work in the final kilometres |
| Puncheur | Short steep climbs, attacks out of the group | Threshold and repeatability: holding the wheel between kicks and being able to attack more than once | Threshold and VO2max work | One-minute efforts, surges on your course’s gradients |
| Climber / tempo rider | Long climbs, time trials | Surviving other people’s accelerations: races are lost on three surges at the foot of the climb, not on tempo. The second limiter is weight relative to threshold — solved with food, not training | Anaerobic and VO2max intervals on top of threshold | Specificity for your race’s terrain: climb length and gradient |
| All-rounder | Scenarios where no single quality decides | Picked from the calendar, not the radar: look at what the target race demands | Exactly the quality the goal demands; “a bit of everything” grows nothing | The race scenario you’re betting on |
Common to all four. Threshold is the foundation: it sets how many times you can repeat your signature effort and how fast you recover in between. That’s why the base phase looks similar for every type — lots of easy volume, about 80% of sessions easy, not 80% of time (Seiler’s review counts workouts, not minutes) — and the differences start in build, and especially in the peak.
Full breakdown: training by type → (in Russian) — every quotation with its population, the sprinter’s honest limiter, and why the work comes one quality at a time, not all at once.
FTP tells you what you can do on fresh legs. Races are usually lost not in the first hour but in the fourth, once real work has piled up in your legs. Durability is a separate quality: how much your power drops once fatigue has accumulated. Two riders with the same threshold on fresh legs can put out very different power after three hours of racing.
No separate test — it comes from your own regular rides. We measure load inside a ride not by distance or time but by the work actually done, in kilojoules (kJ), and divide that by body weight (kJ/kg): 2500 kJ is a very different load for a 60 kg rider than for a 90 kg one, but in kJ/kg the two are comparable.
We then take your best effort before a given amount of accumulated work and compare it with your best effort after it — and we do this across your whole ride history, not inside a single ride. Comparing within one ride is misleading: the tail of a short ride that just crossed the mark is simply the ride home, while the tail of a long ride spans hours and may contain a strong effort of its own. That measures “how you rode that particular day”, not fatigue. So the “fresh” number is built from your best efforts across all rides, and the “fatigued” number from the best efforts found only in the sections that came after the relevant kJ/kg mark.
On fresh legs, successful and less successful amateur riders barely differ in power — the gap only shows up after a large amount of work has been done. In successful amateurs, 20-minute power after 1000 kJ of accumulated work drops by 6.5%; in less successful amateurs it drops by 12.5% — twice as much. In other words, races aren’t won by whoever has the higher peak, but by whoever falls off less.
⚠️ Those two figures are adjusted means (the authors adjusted for VO₂max, training volume and body weight), not the raw observed drops: recomputing them straight from the published watts gives different numbers. We quote the authors' figures and call them what they are.
Durability is trainable, but not at any cost. Key intervals sometimes need to go not at the start of a fresh session but at the end of a long ride, once real fatigue is already in the body — that trains the specific ability to hold power after work, not just “one more good interval”. Staff rule: one such day per week, not every other day, otherwise the body doesn’t recover in time and interval quality drops across every session. Short quality sessions still belong on fresh legs — they raise the ceiling, not durability. And on the ride itself, fuelling needs to cover the work done up to the point where the drop-off begins — running the tank dry right at that mark turns a durability session into a test of hunger.
When the staff replaces the coach’s session, or there’s no plan at all, the work isn’t assigned by feel. First the code determines the day’s objective and a parameter corridor, and only inside that corridor does the AI phrase the specifics. The reason is simple: interval duration isn’t “how long to suffer” — it’s the choice of which system you train.
That’s why they can’t be swapped. If the plan called for threshold and you were given one-minute efforts instead, that isn’t “taking it easier” — it’s a different session.
Full breakdown: how long should VO₂max intervals be → (in Russian) — verbatim abstracts of Seiler 2013 and Hill 2002, and an honest account of where our 3–5 min boundary is a classification choice rather than a measurement.
Tempo / sweet spot: 1×20 min → 1×30 min → 1×40 min → 2×20 min → 2×30 min — at most one adjacent rung per calendar week. Threshold: 3×10 min → 3×15 min. VO₂max: 5×3 min, use an effort you can repeat in every interval → 5×4 min, use an effort you can repeat in every interval. Hold the threshold and VO₂max format for 3 weeks. Inside a threshold block with a power meter, aim for higher mean interval power than last session; without a meter, hold the format. There is no percentage increase or prescribed watt increment.
Without history, start on the first rung: tempo at RPE 8/10, threshold at RPE 8.5/10; use a repeatable effort for every VO₂max interval. Hard effort or an incomplete session means repeating the rung. Two consecutive incomplete sessions or two efforts above the band mean moving down one rung, stopping at the first rung. This is our choice within the ladder. Endurance duration follows the weekly volume curve.
Coaching practice: John Wakefield, Stephen Barrett, Jeroen Swart. The middle VO₂max rung is our choice within Barrett’s range.
This is the most counter-intuitive rule of the taper. You can no longer build form in the final week — adaptations take 10–14 days. It’s easy to draw the wrong conclusion from that: “so I should ease off”. The research says otherwise: reduce volume by 41–60% and maintain intensity. It is specifically dropping the intensity before a race that hurts performance.
So in race week the staff doesn’t substitute hard work with easy work — it cuts the volume: from 75% of normal a week out to 50% three days out. Only the last two days are short “wake the legs up” efforts (priming), where changing the character of the work is justified by a separate effect rather than by a wish to be careful.
A volume percentage based on days-to-race only works if you entered the taper exactly on plan. Miss two days, or overreach instead, and the calendar won’t notice. So the staff steers the taper by freshness and uses volume as the lever: falling short of the band’s floor means cutting harder; already inside it means not over-tapering.
The target band on race day is TSB between +15 and +25 — the state where form is built and fatigue has cleared. The band has an author, and it is not a study but the published practice of one named coach — Joe Friel (TrainingPeaks, 23.09.2016). The band works as a floor — a threshold of "fresh enough", not a target to aim into.
And it’s computed with a real model, not by eye. The same impulse-response model CTL and ATL are built on: acute load decays with a 7-day time constant, chronic load with 42, and freshness is the difference between them. The code plays every remaining day forward at different volumes and takes the largest one where freshness clears the band’s floor — not the average, not the smallest. You see the result on the race page in the “Freshness at the start” card: where you are now, where you’ll end up if nothing changes, and where you’ll be if you follow the taper.
That’s why the same number of days out gives different answers to different riders: arrive fresh and volume is barely cut; arrive buried and it’s cut hard.
It doesn’t override your coach. It is a ceiling in case of replacement, not an assignment for every day: if your coach set an easy day, it stays easy. The objective only kicks in when the staff replaces a session or when there’s no plan.
Two more things that do not lower the objective: poor sleep (it will be mentioned in words, but it doesn’t change the day’s task) and ordinary tropical heat — with heat adaptation built, 32 °C is working weather; only the execution changes: drink more, electrolytes, start earlier, and expect lower watts at the same effort.
Regular heat exposure (training in the heat, or sauna afterward) triggers heat adaptation. The main prize is increased blood plasma volume. Mechanism: heat → the hormone aldosterone → your body retains sodium and water → the liquid fraction of your blood grows.
Why this matters even if you never race in the heat:
How the app calculates this (deterministically, no AI involved):
For a newcomer with no watch and no Strava: heat points come from Garmin's felt temperature, Strava's ride temperature (⚠️ for Strava that's the recording device's sensor temperature, not felt temperature — a different quantity, no humidity correction in it), and sauna sessions entered by hand. Without either device, points come only from sauna entries — the app doesn't promise what you don't have.
Full breakdown: why sauna helps endurance → (in Russian) — verbatim quotes from Scoon, Oberholzer and Kirby, and an honest account of our plasma-curve interpolation versus what the evidence actually says.
All estimates are approximate — this is a smart assistant, not a lab and not a doctor. The formulas are standard reference points from sports science; adjust based on how you feel, and see a specialist for medical questions.