Training

Strava + Apple Health → GPT-4.1 coach. Everything self-hosted.

#MihiContraMe →

YTD

Sessions Distance Time Elevation Calories
367 11032.0 km 485h 04m 27879 m 317916 kcal
2.01 ACWR
Very high injury risk Acute 60.6 · Chronic 30.1 (daily avg suffer score)

Gear

BikeSessionskm
HoneyBadger 40 2480.6 km
ErgBike C2 74 1513.3 km
Hoops 33 1294.4 km
Holly Grail 15 1195.7 km
TheMule 2 62.7 km
Commuter 2 62.4 km

HR & HRV — last 90 days

Resting heart rate and HRV (SDNN) with daily training load and sleep overlay.

Weekly training — 12 months

km per week with average heart rate and HRV trend lines.

Fitness — CTL / ATL / Form

Chronic Training Load (42d), Acute Training Load (7d) and Form (TSB = CTL − ATL). Computed from suffer score.

This week

This week12-mo avgvs avg
Sessions88.7 -8.0%
Distance70.7 km253.6 km -72.1%
Time3h 09m11h 06m -71.6%
Elevation—585 m -100.0%
Avg HR118 bpm115 bpm +2.2%
Avg HRV—37.2 ms
Load147385.0 -61.8%
Avg Power 129 W 158 W -18.6%

AI coaching insights

  • activity 2026-11-10

    **Today's Activity** - Today's 15,008m BikeErg was short and easy, well below your average session for distance, duration, and difficulty. - Average HR (105.3), power (111.1W), cadence (70.9), and suffer score (8) were all lower than weekly (~112 bpm avg HR, ~83 WL), showing clear active recovery status. - Positive: Kept effort light, suggesting good discipline for recovery. No concerns—just ensure you're fueling and hydrating well. **Weekly Load & Trends** - Current weekly load (83) is moderate and aligned with your recent pattern; no sharp spikes or drops in intensity. - You're in a maintenance phase, not ramping up or dropping volume—appropriate for late-season or post-peak block. **Recovery Recommendation** - HRV (26.3) is low and resting HR (56) is a touch high for you, indicating accumulated fatigue. - Take an easy/recovery day tomorrow; avoid high intensity or big volume. Focus on rest and supportive recovery habits.

  • activity 2026-11-10

    **Today's Activity** - This 3x20min interval on the BikeErg (29.6 km, 198 W avg, 129 bpm avg HR, 58 rpm avg cadence, Suffer Score 64) is at the higher end of your average effort (avg ride HR: ~112 bpm; avg watts, cadence not available for all rides), indicating a solid threshold session with sustained intensity. - HR (129 vs 112 avg), power (198.3 W), and Suffer Score (64 vs avg per session ~41) are all elevated; cadence is in a typical endurance range. - Standout: Strong, consistent effort above average intensity; no concerning max HR. Slightly lower cadence may indicate fatigue or focus on power. **Weekly Load & Trends** - Weekly load is 83 so far, within your 7-day (416) and 28-day (4281) Suffer Score trends; typical for you (~10 sessions/week). - Trend is maintaining/building, with no major spikes or drops; volume is steady and controlled. **Recovery Recommendation** - HRV is slightly low (26.3), and resting HR is at baseline (56); coupled with a hard session today, this suggests you should take an easy aerobic or rest/recovery day tomorrow.

  • activity 2026-11-10

    **Today's Activity** Today's BikeErg session was very short and low intensity (28s, 237.9m), with HR (100.7), power (223.7W), cadence (62.6) all below your average, and a suffer score of 0. This is far lighter than your normal efforts—no concerns, but this looks like a technique or warm-up drill, not a training load contributor. **Weekly Load & Trends** Weekly load is 83, much lower than typical (recent 7d: 352 suffer score, 10 sessions), showing a drop compared to recent workload (4281 over 28d). You're clearly in a recovery or down week—no spikes, just a notable reduction. **Recovery Recommendation** HRV (26.3) and resting HR (56) are both within normal range given the decreased load; you're recovering well. Suggest one more easy or moderate session tomorrow—no need to go hard yet, let the body soak up recovery benefits.

  • activity 2026-11-10

    **Today's Activity** - This 30-min BikeErg session (13.4 km, 110 avg HR, 149W, 74 cadence, suffer score 8) is below the athlete's typical ride intensity and duration. - HR (110.1) is slightly below recent average (112.4), power moderate, cadence typical, and suffer score much lower than weekly (avg 35/session). - Positives: Kept effort very aerobic, showing good control. Concern: Session does not add much training stimulus; may be a recovery or maintenance ride. **Weekly Load & Trends** - Weekly load (83) is in the maintain/recovery range, much lower than recent 28d average weekly suffer score (~1070); 7d (352) is also low. - The number of sessions (10) and step count (7975) indicate moderate activity; overall, the athlete is in a light training week with no concerning spikes. **Recovery Recommendation** - HRV (26.3) and resting HR (56) are normal; with low training load, athlete is likely adequately recovered. - Recommendation: Easy or moderate session tomorrow is appropriate—can resume build if feeling fresh, but ensure gradual ramp-up.

  • activity 2026-11-09

    **Today's Activity (Rowing: 2,337m, 848s, 59.9W, 23.1 cadence, 117 kcal)** - This rowing session is a light cross-training effort compared to your usual cycling volume and intensity. - No HR data recorded; power and cadence are moderate, but suffer score is not available, so likely low impact given your usual bike work. - Positive: Good to see cross-training and easy aerobic work; no concerns, just keep HR/wattage logged for better analysis. **Weekly Load & Trends** - This week’s load (83) is below your recent 28-day average (1,074 weekly), showing a marked drop; you are in a recovery phase. - No load spikes; trending lighter, likely by design or enforced downtime. **Recovery Recommendation** - HRV (26.3) is below baseline; resting HR (56) is typical, but lower load supports recovery. - Recommend another easy/recovery day or rest; avoid hard training until HRV rebounds.

Activities this week

W46 8×  ·  70.6 km  ·  3h 09m  ·  147 load
MonTueWedThuFriSatSun
Row 7.2 km 180.5w
Row 1.2 km 34.8w
Row 1.7 km 77.4w
Row 2.3 km 59.9w
V.Ride 13.4 km 149.4w
V.Ride 0.2 km 223.7w
V.Ride 29.6 km 198.3w
V.Ride 15.0 km 111.1w
All activities 133 sessions · 5989.0 km · 297h 29m · 7983 load
W45 1×  ·  59.4 km  ·  2h 16m  ·  96 load
MonTueWedThuFriSatSun
Ride 59.4 km 103.7w
W44 1×  ·  34.4 km  ·  1h 14m  ·  52 load
MonTueWedThuFriSatSun
Ride 34.4 km 146.2w
W40 2×  ·  20.9 km  ·  1h 02m  ·  35 load
MonTueWedThuFriSatSun
Ride 10.6 km 101.5w
Ride 10.3 km 100.6w
W39 2×  ·  67.5 km  ·  2h 42m  ·  51 load
MonTueWedThuFriSatSun
Ride 33.3 km 80.1w
Ride 34.2 km 81.0w
W38 2×  ·  134.5 km  ·  5h 34m  ·  160 load
MonTueWedThuFriSatSun
Ride 34.3 km 166.8w
Ride 100.2 km 122.7w
W37 3×  ·  249.3 km  ·  10h 58m  ·  177 load
MonTueWedThuFriSatSun
Ride 60.2 km 156.2w
Ride 110.4 km 110.9w
Ride 78.7 km 116.7w
W35 3×  ·  191.9 km  ·  7h 14m  ·  201 load
MonTueWedThuFriSatSun
Ride 54.2 km 164.6w
Ride 54.5 km 143.5w
Ride 83.2 km 127.8w
W34 4×  ·  196.7 km  ·  7h 23m  ·  94 load
MonTueWedThuFriSatSun
Ride 38.4 km 173.7w
Ride 59.4 km 160.2w
Ride 11.9 km
Ride 87.0 km 151.5w
W33 2×  ·  191.8 km  ·  8h 12m  ·  228 load
MonTueWedThuFriSatSun
Ride 34.6 km 205.5w
Ride 157.2 km 129.9w
W32 3×  ·  236.0 km  ·  10h 00m  ·  188 load
MonTueWedThuFriSatSun
Ride 71.1 km 139.4w
Ride 113.4 km 132.3w
Ride 51.5 km 101.5w
W31 4×  ·  237.2 km  ·  8h 53m  ·  137 load
MonTueWedThuFriSatSun
Ride 85.4 km 137.9w
Ride 32.6 km 146.6w
Ride 59.6 km 160.2w
Ride 59.6 km 141.5w
W30 4×  ·  245.6 km  ·  10h 08m  ·  161 load
MonTueWedThuFriSatSun
Ride 102.5 km 160.9w
Ride 54.7 km 149.0w
Ride 60.7 km 158.4w
Ride 27.7 km 106.4w
W29 8×  ·  489.6 km  ·  19h 53m  ·  416 load
MonTueWedThuFriSatSun
Ride 64.9 km 127.3w
Ride 10.4 km 177.3w
Ride 39.6 km 164.6w
Ride 29.5 km 167.0w
Ride 35.8 km 165.6w
Ride 95.9 km 151.8w
Ride 50.4 km 130.5w
Ride 163.1 km 140.7w
W28 6×  ·  298.7 km  ·  12h 01m  ·  180 load
MonTueWedThuFriSatSun
Ride 60.7 km 147.9w
Ride 35.8 km 149.8w
Ride 60.7 km 169.4w
Ride 57.5 km 182.1w
Ride 40.0 km 227.1w
Ride 44.0 km 110.6w
W26 8×  ·  435.1 km  ·  17h 30m  ·  293 load
MonTueWedThuFriSatSun
Ride 54.2 km 201.0w
Ride 54.7 km 168.1w
Ride 54.2 km 170.7w
Ride 5.0 km 81.9w
Ride 54.3 km 158.9w
Ride 35.8 km 137.7w
Ride 94.5 km 156.1w
Ride 82.4 km 149.4w
W25 6×  ·  193.6 km  ·  8h 33m  ·  79 load
MonTueWedThuFriSatSun
Ride 34.3 km 168.5w
Ride 0.8 km 80.8w
Ride 25.0 km 80.3w
Ride 35.0 km 126.5w
Ride 36.3 km 217.5w
Ride 62.2 km 159.3w
W23 2×  ·  106.0 km  ·  4h 35m  ·  239 load
MonTueWedThuFriSatSun
Ride 35.8 km 185.3w
Ride 70.2 km 128.0w
W22 7×  ·  140.0 km  ·  6h 47m  ·  169 load
MonTueWedThuFriSatSun
Ride 0.9 km 163.3w
Ride 1.1 km 102.5w
Ride 4.0 km 135.1w
Ride 7.4 km 288.4w
Ride 52.0 km 99.0w
Ride 38.8 km 71.6w
Ride 35.8 km 172.6w
W21 2×  ·  71.7 km  ·  3h 07m
MonTueWedThuFriSatSun
Ride 35.9 km 122.0w
Ride 35.8 km 153.4w
W20 1×  ·  35.8 km  ·  1h 42m
MonTueWedThuFriSatSun
Ride 35.8 km 155.9w
W18 1×  ·  198.9 km  ·  8h 02m  ·  352 load
MonTueWedThuFriSatSun
Ride 198.9 km 145.3w
W17 1×  ·  52.7 km  ·  2h 05m  ·  61 load
MonTueWedThuFriSatSun
Ride 52.7 km 164.8w
W16 1×  ·  161.7 km  ·  6h 23m  ·  574 load
MonTueWedThuFriSatSun
Ride 161.7 km 178.7w
W15 3×  ·  188.1 km  ·  7h 39m  ·  451 load
MonTueWedThuFriSatSun
Ride 79.4 km 184.4w
Ride 54.2 km 191.8w
Ride 54.5 km 172.4w
W14 1×  ·  35.9 km  ·  1h 15m  ·  106 load
MonTueWedThuFriSatSun
Ride 35.9 km 213.4w
W11 2×  ·  28.0 km  ·  40h 00m
MonTueWedThuFriSatSun
Ride 10.0 km
Ride 18.0 km
W10 6×  ·  387.4 km  ·  15h 32m  ·  1027 load
MonTueWedThuFriSatSun
Ride 58.6 km
Ride 58.4 km
Ride 54.2 km
Ride 53.9 km 183.2w
Ride 35.9 km
Ride 126.4 km 174.4w
W9 2×  ·  125.2 km  ·  5h 08m  ·  406 load
MonTueWedThuFriSatSun
Ride 56.4 km
Ride 68.8 km
W8 1×  ·  52.8 km  ·  2h 03m  ·  217 load
MonTueWedThuFriSatSun
Ride 52.8 km
W7 1×  ·  19.7 km  ·  47m  ·  101 load
MonTueWedThuFriSatSun
Ride 19.7 km
W3 1×  ·  52.4 km  ·  2h 21m  ·  182 load
MonTueWedThuFriSatSun
Ride 52.4 km
W49 1×  ·  35.6 km  ·  1h 17m  ·  167 load
MonTueWedThuFriSatSun
Ride 35.6 km
W46 4×  ·  130.3 km  ·  5h 38m  ·  375 load
MonTueWedThuFriSatSun
Ride 3.9 km
Ride 35.5 km
Ride 55.1 km
Ride 35.8 km
W44 1×  ·  51.4 km  ·  2h 34m  ·  46 load
MonTueWedThuFriSatSun
Ride 51.4 km
W43 1×  ·  3.9 km  ·  9m  ·  13 load
MonTueWedThuFriSatSun
Ride 3.9 km
W42 1×  ·  100.0 km  ·  4h 33m  ·  334 load
MonTueWedThuFriSatSun
Ride 100.0 km
W41 2×  ·  154.2 km  ·  6h 57m  ·  198 load
MonTueWedThuFriSatSun
Ride 35.8 km
Ride 118.4 km
W38 1×  ·  54.3 km  ·  2h 22m  ·  50 load
MonTueWedThuFriSatSun
Ride 54.3 km
W37 1×  ·  71.9 km  ·  3h 59m  ·  55 load
MonTueWedThuFriSatSun
Ride 71.9 km
W36 3×  ·  135.5 km  ·  9h 20m  ·  97 load
MonTueWedThuFriSatSun
Ride 38.0 km
Ride 26.7 km
Ride 70.8 km
W35 8×  ·  20.5 km  ·  1h 05m  ·  12 load
MonTueWedThuFriSatSun
Ride 4.2 km
Ride 1.0 km
Ride 1.1 km
Ride 4.0 km
Ride 4.0 km
Ride 1.2 km
Ride 1.0 km
Ride 4.0 km
W34 1×  ·  1.1 km  ·  4m
MonTueWedThuFriSatSun
Ride 1.1 km
W33 1×  ·  11.1 km  ·  1h 07m  ·  13 load
MonTueWedThuFriSatSun
Ride 11.1 km
W32 1×  ·  33.1 km  ·  1h 51m  ·  20 load
MonTueWedThuFriSatSun
Ride 33.1 km
W31 1×  ·  44.0 km  ·  3h 52m  ·  37 load
MonTueWedThuFriSatSun
Ride 44.0 km
W30 3×  ·  15.0 km  ·  40m  ·  5 load
MonTueWedThuFriSatSun
Ride 3.3 km
Ride 6.3 km
Ride 5.4 km
W29 1×  ·  45.2 km  ·  2h 53m  ·  29 load
MonTueWedThuFriSatSun
Ride 45.2 km
W28 2×  ·  2.2 km  ·  9m
MonTueWedThuFriSatSun
Ride 1.0 km
Ride 1.2 km
W27 5×  ·  81.1 km  ·  4h 01m  ·  70 load
MonTueWedThuFriSatSun
Ride 22.8 km
Ride 1.1 km
Ride 1.0 km
Ride 4.1 km
Ride 52.1 km
W37 2×  ·  48.6 km  ·  2h 54m  ·  24 load
MonTueWedThuFriSatSun
Ride 36.4 km
Ride 12.2 km 58.8w
W36 2×  ·  11.5 km  ·  39m  ·  5 load
MonTueWedThuFriSatSun
Ride 5.7 km 105.7w
Ride 5.8 km 74.4w