labthlete
For athletes who race on data, not on feel

Your engine,
explained.

Enter your own lactate test, from a lab or a handheld meter, and Labthlete turns it into your thresholds, your training zones and a physics-based race plan. Add an aero and a durability test to sharpen it. Every number carries an honest band, the plus/minus range your data really supports, never a fake-precise guess.

The race before the race.
Your engine · lactate test
LT2 306 W
LT1 233 W · HR 167
Very good · top 10%
Your race · Ironman Barcelona
9:12:50
P50 · window 8:51 → 10:34
full distanceswim 1:06 · bike 4:34 · run 3:23

One real athlete, their numbers shown in the exact style you see inside the app: the engine it measured from their test, the race it planned. Keep scrolling for the real screens.

1
You test

Do a lactate test at a lab, or prick a finger with your own meter and type in each step. The app reads the numbers you collect, it does not draw blood for you.

2
The app builds your engine

Your thresholds and zones straight away. Add a short aero ride and a durability field test and it measures your CdA and your fade too. Every value with its band.

3
Plan any race

A pacing plan for your course and distance, metre by metre, with an honest finish window instead of one fake-precise time.

You train harder than ever. Do you actually know what you can do on race day?

Watts, pace and heart rate tell you what you did. They do not tell you the fastest way to spend what you have over 180 km on the bike, or 42.2 on foot. That is a physics problem, and most tools guess at it from a number you typed in. We solve it from your measured lactate curve, and show you the uncertainty instead of hiding it.

Measure · your lactate test

One test. Your whole engine.

Enter your test, from a lab or your own handheld meter, and read your two lactate thresholds: LT1, your aerobic threshold, the top of easy all-day riding, and LT2, your anaerobic threshold, the highest effort you can hold at a stable lactate. Both in watts and in heart rate, with your training zones and, for runners, pace in min/km. Drag a threshold to fine-tune it; we pick a sensible detection method for you and power users can switch it.

LT1 233 WLT2 306 WHR @ LT2 167 bpmtop 10% of tested cyclists
labthlete.com/athletes · analysis
Real screen · a real lactate test, LT1 233 W and LT2 306 W, thresholds you drag
Measure · aerodynamics, for cyclists and triathletes

Your aerodynamics, measured.

Your CdA, the aerodynamic drag that sets your speed at a given power, measured from a proper aero ride: power, stable conditions, a repeated loop or out-and-back. Compare any change, a position, a helmet, wheels, a skinsuit or tyres, each result with its band, and save the winner as a bike setup your race plan uses. Pick your test type; the roughest one only catches big changes, and we tell you so.

Measured aerodynamics · CdA
0.2175 ±0.005
0.2125best estimate0.2225
Grade Avelodrome9 passes · low yaw

The signature band, exactly as the app draws it: the value, the interval it lives in, and the centre tick.

labthlete.com/aero · result
Real screen · the band number, its grade, and why the band is exactly that wide
how the compare view readsIllustration
Compare setups · same day, same road
Hoods
0.287 ±0.013
road protocol · 3 passes
Drops
0.251 ±0.012
road protocol · 3 passes
Detectable change-0.036 ±0.019 roughly 25 to 30 s over 40 km
Two setups, same day, same road: the change is the strongest number aero testing makes. Sample values, drawn to show how the compare view reads.
By test type: velodrome ±0.004 to 0.008 · road ±0.008 to 0.015 · open ride, estimated, ±0.015 to 0.030 m²
The band is the measurement.
Understand · durability

The number that explains the last hour.

Your engine does not hold its ceiling for hours. Measured, this rider fades 1.8% for every 1,000 kJ of work, roughly 40 minutes of hard riding, better than a typical rider. So at the end of a 180 km bike they still hold 283 W where an average rider is down to 274. The pacing plan spends that fade in advance, so your reserve runs out at the line, not before.

measured 1.8% / 1,000 kJ1,000 kJ ≈ 40 min hardtwo tests, or 20 + 20 min
Sustainable ceiling · watts over the bike leg
your fade 1.8% / 1,000 kJ
fresh · 0 kJ≈ 2,000 kJfull bike · ≈ 4,000 kJ
306 → 283 W
you · a durable fade
306 → 274 W
typical fader · 2.5% / 1,000 kJ

Measure it two ways: a fresh lactate test against a pre-loaded one, or a 20 + 20 min field test. Saved to your profile, it feeds every prediction, and the pacing plan above spends your reserve against exactly this curve.

Decide · the race, before the race

Your best race, computed metre by metre.

A full Ironman, swim to finish, on the real Ironman Barcelona course, simulated metre by metre from your measured engine and adjusted for heat and altitude. Where to push, where to save, an honest finish window instead of a fake-precise time. It works for any race and distance too, a road marathon, a 40 km time trial, a 70.3, a full Ironman. Barcelona is just the example here.

Ironman Barcelonaswim 3.8 · bike 180 · run 42.2 kmfinish 9:12:50bike 229 W · 75% of LT2run 4:50/kmwindow 8:51 → 10:34
labthlete.com/predictor · Ironman Barcelona
Real screen · the full-distance finish, with the P10 to P90 window, not one fake-precise number
labthlete.com/predictor · bike leg
Real screen · the bike leg on the real course: GPS coloured by effort, power metre by metre, split into segments
labthlete.com/predictor · run leg
Real screen · the run leg off the bike: GPS, pace metre by metre, and the same segment split
labthlete.com/predictor · your engine
The data behind every number

Every number traces back to the test.

No sliders guessed in the dark. Your thresholds come from your lactate curve, your aerodynamics from a CdA test, your durability from a field test; from those we set your zones and pacing. Change the engine and the whole race re-computes.

Decide · runners too

Not just triathlon. Your marathon, run-native.

The same engine, in min/km, on the real Boston course: the downhill start read as free speed, the Newton hills eased, grade-adjusted pace and a finish window. Your threshold pace comes from your lactate test, not a watts guess bolted onto running.

Boston Marathon42.2 km · net -145 mfinish 2:52:37avg 4:04/kmthreshold 3:53/km
labthlete.com/predictor · Boston Marathon
Real screen · a standalone marathon in min/km, the downhill start and the Newton hills, split into segments
Decide · where would you stand

Where would you stand?

A database of 18,207 real race results, with your dot on the field. Pick a distance and a finish time, across every race of that distance or inside one edition, all years pooled or a single year.

Marathon, 2025 · 3,214 finishers
you · top 18%
2:503:103:303:504:10
Your dot against this race's real finishers. Not a leaderboard: the honest shape of the field.
For coaches · the whole squad

Your whole squad, one lab.

Log a lactate test from the side of the track while the athlete is still breathing hard: steps, pace computed for you, the curve drawing itself live, a validity check before you save. Import seasons of Excel history in one upload. Every athlete gets thresholds, zones, durability and a race plan.

steps, pace computedcurve draws livevalidity check before saveone workbook, whole rostercoach invite code
New lactate test entry on the phone: sport, conditions, analyzer Lactate Pro 2, track surface, resting baseline
Trackside entry
The main-set curve drawing itself live as steps come in, with the validity check ready for threshold analysis
The curve, live
✓ Strictly incremental and analysable, ready for threshold analysis.
labthlete.com/athletes · team
The whole roster: thresholds, level and last test at a glance
The honest part

When we cannot tell, we say so.

Within noise is an answer. When the interval crosses zero, the difference is smaller than what the test can detect. We say so, instead of selling you a number. This is the spine of the whole product.

Within noise
Change · setup A to setup B
-0.006 ±0.012
-0.0500.02

The interval crosses zero: this difference is smaller than what today's test can detect.

0 to 5 s
over 40 km at 40 km/h. Could be nothing. Not a number to spend money on.
A wide band is not a failure. It is the honest size of what this ride can prove.
Within noise: treat the two setups as equal until you retest.
18,207+
race results
104+
mapped courses
2,504+
equipment items, real specs
±
every plan carries a band

See your engine in two minutes.

Sign up free, or try the live demo: no account, no test, just drag the sliders and watch the optimal plan rebuild live.