Shoes
Mileage counted from your own runs
| Pair | Distance | Runs | Left | Life |
|---|---|---|---|---|
|
Pegasus 40
replace
2025-09-07 → 2026-07-23 |
1600 km | 138 | 0 km | 800 km limit |
|
Endorphin Speed
replace
2025-09-10 → 2026-07-22 |
781 km | 91 | 0 km | 700 km limit |
|
Novablast 4
2026-07-25 → 2026-09-06 |
392 km | 32 | 408 km | 800 km limit |
Shoes and their replace-at figures come from Garmin. Where you have not set one, 800 km is assumed — it is a rule of thumb, not a rule.
Pace against the weather
Last 400 days
The same effort is simply slower in the heat. The corrected column is what your summer runs are actually worth, so a July slump stops looking like lost fitness.
| Conditions | Runs | Average | Raw pace | Corrected | Worth |
|---|---|---|---|---|---|
| Under 5 C | 79 | 2 C | 4:44 /km | 4:44 /km | — |
| 5-13 C | 58 | 9 C | 4:45 /km | 4:45 /km | — |
| 13-20 C | 54 | 17 C | 4:43 /km | 4:42 /km | −2s |
| 20-26 C | 70 | 23 C | 4:45 /km | 4:34 /km | −11s |
, so the check has to wait for the parsed document. addEventListener('DOMContentLoaded', function () { try { var dm = ['standalone', 'minimal-ui', 'fullscreen', 'window-controls-overlay']; if (!document.getElementById('frozen-note') && (navigator.standalone || dm.some(function (m) { return matchMedia('(display-mode: ' + m + ')').matches; }))) { var pk = 'portal-installed', reg = JSON.parse(localStorage.getItem(pk) || '{}'); reg.Run315 = Date.now(); localStorage.setItem(pk, JSON.stringify(reg)); } } catch (e) { /* private mode - ignore */ } }); // Installable, and readable on the train. See templates/sw.js. if ('serviceWorker' in navigator) { addEventListener('load', function () { navigator.serviceWorker.register('/Run315/sw.js'); }); }