Solo Pro Account

Heart rate

Pair a Bluetooth heart-rate strap and watch your live BPM. On-device only — nothing is recorded or shared.

Put on your strap, then pair it. Works with any Bluetooth-Smart strap — Polar H7/H9/H10/OH1/Verity, Garmin, Wahoo, etc. (Older 5 kHz / GymLink-only straps don’t use Bluetooth and won’t appear.)

Your maximum heart rate

One per sport: a maximum you hit rowing is not your maximum on a bike or a run. Leave any of them blank and nothing is guessed — those sessions just show no heart-rate zones.

Which zones to show

On a row, the cockpit puts a zone over your heart rate. Pick the words your programme is written in. It changes that label and nothing else — no extra reading is taken, nothing new is saved, and nothing is sent anywhere.

Bands are the convention's own, not a measurement of you — individual thresholds move with training state, and a lactate-tested rower should trust their tested numbers over any table.

Why there are two rowing systems, and why one stops at “AT+”

Both are real published conventions and they do not put their edges in the same place, so the same row can be AT in one and U1 in the other. The app’s default is the FISA / British Rowing set — UT2 · UT1 · AT · TR · AN — because that is what your session review, your week and your programme are already written in, so one row reads the same word live as it does afterwards.

The IARU set stops at AT+, and that is not a missing feature. Its classification has three classes above anaerobic threshold — Transport, Anaerobic and Speed — separated by blood lactate and by how long the effort lasts. This app measures neither, so above 90% of your maximum it says “threshold or harder” rather than naming a band it would be guessing at.

  • T — Transport. Separated from AT by lactate (6–10 mmol/l) and duration (5–20 min), not by heart rate — its own HR cell reads '<100% of max', which every band satisfies.
  • AN — Anaerobic. Separated by lactate (10 mmol/l to max) over 5–10 min. Its heart-rate cell in the source workbook is empty — above threshold heart rate saturates, so the table states no AN band either (it briefly held a stray 1; corrected at the workbook 2026-09-06, see IARU_SOURCE_DEFECTS).
  • S — Speed. Sub-60-second maximal reps. Heart rate lags the effort by more than the rep lasts, so it can never identify one while it is happening.

Finding it: run vs bike vs erg

Each of these is an all-out effort. Read the preconditions before you start one — they are conditions, not a formality, and this app is not in a position to tell you a maximal test is safe for you.

Rowing / erg

2k trial peak no extra session

The peak heart rate from an all-out 2k you were already going to row — the cheapest valid erg maximum there is.

Before you start

  • This is a maximal effort — an all-out test taken to the point where you cannot continue, not a hard session. Anyone with a known or suspected heart condition, anyone taking medication that affects heart rate, and anyone who is unsure whether maximal exercise is appropriate for them should not do this without medical advice first.
  • Wear a chest strap. Optical wrist heart rate is unreliable at maximum and is known to lock onto cadence instead of pulse — an artefact stored as your maximum silently poisons every band computed from it afterwards, on every session, indefinitely.
  • Do not test while unwell, or while still shaking off an illness.
  • Do not test within 48 hours of hard work. A fatigued athlete stops at the muscle rather than at the heart, and the number that comes back is a floor wearing a maximum's label.
  • Do not test inside a taper. A maximal test is training load, and a taper is where load has deliberately been removed.
  • The trial has to be genuinely all out and raced to the line. A 2k paced to a target and never taken to failure gives a floor, not a maximum.
  • The strap must be on for the trial itself. A maximum cannot be reconstructed afterwards from a split.

Warm-up

Whatever warm-up the trial already prescribes. Do not change the trial to suit the heart-rate reading — the trial is the point and the number is a by-product.

The test

  1. The trial — 2000 m, all out, raced to the line exactly as prescribed.
  2. Stay put — Sit on the machine with the strap on and the recording running. Paddle lightly or sit still — either is fine, stopping the recording is not.

Reading the number

  • Read the highest 5-second average, never the highest instantaneous sample. A single-beat spike at maximum is as likely to be a dropped or doubled beat as a real reading.
  • Keep recording for at least 30 seconds after you stop. Heart rate commonly peaks in the first ~15 seconds AFTER the effort ends, so a recording stopped on the last stroke or the last stride misses the number the test was for.
  • Take the higher of the two peaks — during the effort, and just after it.
  • Take the peak from the trial and its first half-minute, not from the whole session file — a spike in the warm-up or the cool-down is an artefact, not a maximum.

Confirming it

  • Repeat the test on a separate day. A single test is a floor, not a maximum.
  • Accept the number when two tests agree within about 3 bpm.
  • If the second test comes back clearly HIGHER, the first was not maximal and the ceiling is still moving — test again before trusting either number.
  • If the second comes back clearly LOWER, that tells you nothing new: keep the higher number as an unconfirmed floor and try again another day.
  • This athlete's synced programme schedules five all-out 2k trials, so confirmation costs nothing extra: the second trial confirms the first, and the remaining three keep confirming it as the season goes on.
Erg step test to exhaustion

Four-minute steps at rising power until you cannot complete one, with the last minute emptied out.

Before you start

  • This is a maximal effort — an all-out test taken to the point where you cannot continue, not a hard session. Anyone with a known or suspected heart condition, anyone taking medication that affects heart rate, and anyone who is unsure whether maximal exercise is appropriate for them should not do this without medical advice first.
  • Wear a chest strap. Optical wrist heart rate is unreliable at maximum and is known to lock onto cadence instead of pulse — an artefact stored as your maximum silently poisons every band computed from it afterwards, on every session, indefinitely.
  • Do not test while unwell, or while still shaking off an illness.
  • Do not test within 48 hours of hard work. A fatigued athlete stops at the muscle rather than at the heart, and the number that comes back is a floor wearing a maximum's label.
  • Do not test inside a taper. A maximal test is training load, and a taper is where load has deliberately been removed.
  • Set the drag factor you normally row at, and write it down. A step test repeated at a different drag is a different test and its numbers do not compare.

Warm-up

About 10 minutes easy, building through it, finishing with two or three short bursts to open up. Then 2-3 minutes easy before the first step.

The test

  1. Steps — 4 minutes at a fixed power, then about 30 seconds off to breathe (or to take a lactate, if that is why you are here), then the next step higher. Choose the opening power so the test runs to five to seven steps — twelve easy steps is an endurance session with a hard finish, not a step test.
  2. To volitional exhaustion — Keep taking steps until you cannot complete one at the power it calls for.
  3. Final minute all out — On the last step you can hold, empty yourself over the final 60 seconds. The maximum comes from that minute, not from the graded part before it.
  4. Stay put — Strap on, recording running, for at least 30 seconds after the last stroke.

Reading the number

  • Read the highest 5-second average, never the highest instantaneous sample. A single-beat spike at maximum is as likely to be a dropped or doubled beat as a real reading.
  • Keep recording for at least 30 seconds after you stop. Heart rate commonly peaks in the first ~15 seconds AFTER the effort ends, so a recording stopped on the last stroke or the last stride misses the number the test was for.
  • Take the higher of the two peaks — during the effort, and just after it.

Confirming it

  • Repeat the test on a separate day. A single test is a floor, not a maximum.
  • Accept the number when two tests agree within about 3 bpm.
  • If the second test comes back clearly HIGHER, the first was not maximal and the ceiling is still moving — test again before trusting either number.
  • If the second comes back clearly LOWER, that tells you nothing new: keep the higher number as an unconfirmed floor and try again another day.

Bike

Bike ramp to failure

Power rising 20-25 W every minute until cadence collapses — typically 8-12 minutes of ramp.

Before you start

  • This is a maximal effort — an all-out test taken to the point where you cannot continue, not a hard session. Anyone with a known or suspected heart condition, anyone taking medication that affects heart rate, and anyone who is unsure whether maximal exercise is appropriate for them should not do this without medical advice first.
  • Wear a chest strap. Optical wrist heart rate is unreliable at maximum and is known to lock onto cadence instead of pulse — an artefact stored as your maximum silently poisons every band computed from it afterwards, on every session, indefinitely.
  • Do not test while unwell, or while still shaking off an illness.
  • Do not test within 48 hours of hard work. A fatigued athlete stops at the muscle rather than at the heart, and the number that comes back is a floor wearing a maximum's label.
  • Do not test inside a taper. A maximal test is training load, and a taper is where load has deliberately been removed.
  • Use a trainer or bike that actually holds power, or the ramp is not a ramp.
  • Stay seated. Standing recruits more muscle and changes the test between one attempt and the next, which is precisely what a confirmation compares.

Warm-up

About 10 minutes easy spinning, with two or three 10-second accelerations near the end. Then a couple of minutes easy before the ramp starts.

The test

  1. Ramp — Add 20-25 W every minute and hold your normal cadence, seated. Pick the opening power so the ramp runs 8-12 minutes: much shorter and the legs end it before the heart does, much longer and it becomes an endurance test.
  2. To volitional failure — Ride until you can no longer hold cadence at the power the ramp calls for. That is the end of the test — there is no target wattage to reach.
  3. Stay on the bike — Spin easily, seated, strap on and recording, for at least 30 seconds.

Reading the number

  • Read the highest 5-second average, never the highest instantaneous sample. A single-beat spike at maximum is as likely to be a dropped or doubled beat as a real reading.
  • Keep recording for at least 30 seconds after you stop. Heart rate commonly peaks in the first ~15 seconds AFTER the effort ends, so a recording stopped on the last stroke or the last stride misses the number the test was for.
  • Take the higher of the two peaks — during the effort, and just after it.

Confirming it

  • Repeat the test on a separate day. A single test is a floor, not a maximum.
  • Accept the number when two tests agree within about 3 bpm.
  • If the second test comes back clearly HIGHER, the first was not maximal and the ceiling is still moving — test again before trusting either number.
  • If the second comes back clearly LOWER, that tells you nothing new: keep the higher number as an unconfirmed floor and try again another day.
3 x 3 min maximal (field alternative)

Three 3-minute maximal efforts with 3 minutes' recovery, the third emptied out — for when there is no power-holding trainer.

Before you start

  • This is a maximal effort — an all-out test taken to the point where you cannot continue, not a hard session. Anyone with a known or suspected heart condition, anyone taking medication that affects heart rate, and anyone who is unsure whether maximal exercise is appropriate for them should not do this without medical advice first.
  • Wear a chest strap. Optical wrist heart rate is unreliable at maximum and is known to lock onto cadence instead of pulse — an artefact stored as your maximum silently poisons every band computed from it afterwards, on every session, indefinitely.
  • Do not test while unwell, or while still shaking off an illness.
  • Do not test within 48 hours of hard work. A fatigued athlete stops at the muscle rather than at the heart, and the number that comes back is a floor wearing a maximum's label.
  • Do not test inside a taper. A maximal test is training load, and a taper is where load has deliberately been removed.
  • Pick a route or a stretch of road you can ride flat out without traffic, junctions or a descent in the middle of an effort.

Warm-up

About 10 minutes easy spinning with two or three short accelerations near the end.

The test

  1. Effort 1 — 3 minutes as hard as you can hold for 3 minutes.
  2. Recovery — 3 minutes easy spinning.
  3. Effort 2 — 3 minutes, at least as hard as the first.
  4. Recovery — 3 minutes easy spinning.
  5. Effort 3 — 3 minutes, and empty yourself over the last 60 seconds. This is the effort the maximum comes from; the first two exist to get you there.
  6. Stay on the bike — Spin easily, strap on and recording, for at least 30 seconds.

Reading the number

  • Read the highest 5-second average, never the highest instantaneous sample. A single-beat spike at maximum is as likely to be a dropped or doubled beat as a real reading.
  • Keep recording for at least 30 seconds after you stop. Heart rate commonly peaks in the first ~15 seconds AFTER the effort ends, so a recording stopped on the last stroke or the last stride misses the number the test was for.
  • Take the higher of the two peaks — during the effort, and just after it.

Confirming it

  • Repeat the test on a separate day. A single test is a floor, not a maximum.
  • Accept the number when two tests agree within about 3 bpm.
  • If the second test comes back clearly HIGHER, the first was not maximal and the ceiling is still moving — test again before trusting either number.
  • If the second comes back clearly LOWER, that tells you nothing new: keep the higher number as an unconfirmed floor and try again another day.

Run

3 x 3 min hard on an incline

Three 3-minute hard efforts up a slight incline with a jog recovery, the last emptied over the final 60 seconds.

Before you start

  • This is a maximal effort — an all-out test taken to the point where you cannot continue, not a hard session. Anyone with a known or suspected heart condition, anyone taking medication that affects heart rate, and anyone who is unsure whether maximal exercise is appropriate for them should not do this without medical advice first.
  • Wear a chest strap. Optical wrist heart rate is unreliable at maximum and is known to lock onto cadence instead of pulse — an artefact stored as your maximum silently poisons every band computed from it afterwards, on every session, indefinitely.
  • Do not test while unwell, or while still shaking off an illness.
  • Do not test within 48 hours of hard work. A fatigued athlete stops at the muscle rather than at the heart, and the number that comes back is a floor wearing a maximum's label.
  • Do not test inside a taper. A maximal test is training load, and a taper is where load has deliberately been removed.
  • Use the same incline each time. A steeper one next time makes the confirmation a comparison of two different tests.
  • Run it on a surface and a route you can go flat out on without watching your feet.

Warm-up

About 10 minutes easy jogging, finishing with three or four strides. Then a minute or two easy before the first effort.

The test

  1. Effort 1 — 3 minutes hard up a slight incline — a gradient you can run, not a hill you have to climb.
  2. Recovery — 2-3 minutes' easy jog back down.
  3. Effort 2 — 3 minutes, at least as hard as the first.
  4. Recovery — 2-3 minutes' easy jog back down.
  5. Effort 3 — 3 minutes, all out over the final 60 seconds. The maximum comes from this last minute — the first two efforts exist to make it possible.
  6. Keep moving — Walk or jog on with the strap on and recording for at least 30 seconds.

Reading the number

  • Read the highest 5-second average, never the highest instantaneous sample. A single-beat spike at maximum is as likely to be a dropped or doubled beat as a real reading.
  • Keep recording for at least 30 seconds after you stop. Heart rate commonly peaks in the first ~15 seconds AFTER the effort ends, so a recording stopped on the last stroke or the last stride misses the number the test was for.
  • Take the higher of the two peaks — during the effort, and just after it.
  • Running usually gives the highest maximum of the three modalities. That is expected and is not a reason to copy this number onto the erg — see the note on borrowing in src/lib/review/rowing-zones.ts.

Confirming it

  • Repeat the test on a separate day. A single test is a floor, not a maximum.
  • Accept the number when two tests agree within about 3 bpm.
  • If the second test comes back clearly HIGHER, the first was not maximal and the ceiling is still moving — test again before trusting either number.
  • If the second comes back clearly LOWER, that tells you nothing new: keep the higher number as an unconfirmed floor and try again another day.
Rules that apply to all three

Reading the number

  • Read the highest 5-second average, never the highest instantaneous sample. A single-beat spike at maximum is as likely to be a dropped or doubled beat as a real reading.
  • Keep recording for at least 30 seconds after you stop. Heart rate commonly peaks in the first ~15 seconds AFTER the effort ends, so a recording stopped on the last stroke or the last stride misses the number the test was for.
  • Take the higher of the two peaks — during the effort, and just after it.

Confirming it

  • Repeat the test on a separate day. A single test is a floor, not a maximum.
  • Accept the number when two tests agree within about 3 bpm.
  • If the second test comes back clearly HIGHER, the first was not maximal and the ceiling is still moving — test again before trusting either number.
  • If the second comes back clearly LOWER, that tells you nothing new: keep the higher number as an unconfirmed floor and try again another day.