Aerobic decoupling and pancit risk — modelled from your own run history, adjusted for heat, dew point, and how you actually fade.
21 km out of KL. Heat tax climbing. Heart rate steady — for now.
HR detaches from pace. Stride shortens. The wall arrives without warning.
Every run feeds the model. Calibrated against your own ceiling, not someone else's.
Pace ceiling. HR cap. The exact km we expect you to break.
The puncture isn't a feeling — it's a measurable cascade. We weight two mechanical and cardiac signals from your run history, calibrated against published sports-science thresholds.
Pace ÷ (cadence × 2). Your stride collapses minutes before your legs say "walk."
HR-to-pace ratio. Above 1.20 means cardiac drift — the energy system is mis-firing.
The algorithm was tuned on 59 of my own runs. Here's what it would have caught — the exact kilometre I broke, weeks before I ran it.
Plug in your distance and race-day weather. We project finish range using Riegel × heat-tax × your personal fade curve — the same model that scores your synced runs.
Status updates on every sync — four levels, no jargon, calibrated against your own ceiling.
Decoupling under 1.10. You could hold this pace for another 10 km without fade.
HR is creeping above pace. Ease 8–12 sec/km, take a salt cap if you have one.
Step length is shortening. Decoupling above 1.20. Walk through the next aid station.
Stride collapse confirmed. Re-fuel, cool down, restart at conservative pace.
Drop in your run history once. Every new run trains your personal pancit signature — no manual logging, no chest strap required.
Drop in 30+ days of runs — GPX or FIT, or connect Strava. We keep per-run summaries and a hash for dedup; the raw file is discarded after parsing.
Backfill of your last 90 days. Personal HR ceiling, pace ceiling, fade curve — all derived.
Open the app race-day; get pace, HR cap, and the km we expect you to break. Adjust before the gun goes.
Drop in 30+ days of runs and the algorithm starts learning your fade — usually inside a minute.