This week
Add activity
Recent activities
Last 8 weeks
Fitness, fatigue & form
Set your power and heart-rate thresholds below for a sharper load estimate. Until then, load is estimated from duration alone.
No activities yet. Load builds as you log or sync training.
Thresholds
Used to estimate training load. Leave blank to fall back to a duration-based estimate.
ZwiftPower races
ZwiftPower is not connected yet.
Set ZWIFT_USERNAME, ZWIFT_PASSWORD, and ZWIFT_PROFILE_ID in the box .env to pull your race results. See the README for the one-time ZwiftPower profile activation step.
No race results stored yet. Run a sync to pull them in.
Daily stretch
Daily mobility — Knees Over Toes (ATG) style. ~15 minutes. Hold long, breathe slow.
Based on Ben Patrick's ATG standards. Longer holds (up to 2 min) are better; once a day is enough to progress. Not medical advice — ease into range and stop anything that hurts.
Garmin sync
Import CSV
Columns: date, sport, duration_minutes, distance_km (optional), notes (optional). Use this if Garmin sync is unavailable.