Demo dashboard · Sample athlete
Synthetic training data. Coaching examples are prewritten, so you can explore before connecting Garmin.
Training totals
A closer look at the sample athlete's recorded training. Return to Today for the next session.
This week
2h49min
23.2 km14.4 mi in 5 activities.
Your 4-week average is 4 h 54 min a week.
- Running 20.2 km12.6 mi
- Walking 3.0 km1.9 mi
- Strength 28 min
Seven-day total of your Garmin exercise loads, with a 28-day weekly average for context. These are calculated from your recorded workouts.
Where is Garmin’s green optimal range?
Garmin calculates exercise load from estimated excess post-exercise oxygen consumption (EPOC), using your heart-rate data. Its acute-load curve weights recent workouts, and the green band marks your personalized optimal range based on fitness and training history.
Garmin’s exact acute load, personalized range, and focus targets aren’t included in the workout data currently available to Tread Lasso. These charts use the exercise loads and primary benefits supplied with your workouts.
How Garmin measures training load
Fitness, fatigue & form
Last 4 weeks
Estimates from your Garmin exercise loads across all sports. Positive Form suggests more freshness; negative Form suggests more accumulated training fatigue.
Fitness
61.6
42-day weighted load · through today
Fatigue
57.0
7-day weighted load · through today
Form
-2.7
Yesterday’s Fitness minus Fatigue
How these estimates work
Fitness and Fatigue are exponentially weighted daily exercise loads with 42-day and 7-day time constants. Workouts on the same day are added together; days without recorded workouts allow both values to decay. Form uses yesterday’s values to describe freshness entering today, before today’s workouts.
The model uses all imported workout history, regardless of the chart range. Values use Garmin exercise-load units per day, so they won’t match TSS-based Fitness, Fatigue or Form scores from other apps. They are training-load trends, not Garmin’s Training Readiness or a measurement of recovery from sleep, illness or stress.
Exercise load
Last 4 weeks
Garmin’s load for each workout, colored by primary benefit. Select a bar to open the activity.
Workout focus
Last 4 weeks
Whole workout loads grouped by Garmin’s primary-benefit label. Garmin’s Load Focus can split one workout across multiple categories, so its totals may differ.
Resting heart rate
49 bpm
7-day average 50
-0 vs the month before
HRV last night
62 ms
7-day average 63
+5 vs the month before
VO2max
52.6
7-day average 52.7
+0.3 vs the month before
Sleep score
86
7-day average 85
+5 vs the month before
Activity calendar
Minutes of activity per day
A Garmin Personal API key lets Tread Lasso import your activities and health data. Each person connects their own Garmin account.
How to get started
- Sign in to Tread Lasso with Google or GitHub.
- Follow the Garmin link above, sign in to Garmin Connect, and create a Personal API key. Copy the key.
- Paste it into Profile & account and choose Connect Garmin. Your training history imports automatically.
Your key grants access to your Garmin data. We store it encrypted and decrypt it on our server to import your data. You can revoke it in Garmin at any time.
{"empty": false, "week": {"start": "2026-10-26", "totals": {"count": 5, "km": 23.184, "hours": 2.819722222222222, "secs": 10151, "elev": 116}, "by_sport": [{"cat": "run", "label": "Running", "count": 3, "km": 20.204, "hours": 1.7602777777777778, "secs": 6337, "elev": 101}, {"cat": "walk", "label": "Walking", "count": 1, "km": 2.98, "hours": 0.5902777777777778, "secs": 2125, "elev": 15}, {"cat": "strength", "label": "Strength", "count": 1, "km": 0.0, "hours": 0.4691666666666667, "secs": 1689, "elev": 0}], "days": [{"date": "2026-10-26", "label": "Mon", "acts": [], "future": false}, {"date": "2026-10-27", "label": "Tue", "acts": [{"cat": "run", "min": 25, "km": 4.3, "id": 360, "name": "Easy park loop"}], "future": false}, {"date": "2026-10-28", "label": "Wed", "acts": [{"cat": "strength", "min": 28, "km": 0.0, "id": 361, "name": "Strength & mobility"}], "future": false}, {"date": "2026-10-29", "label": "Thu", "acts": [{"cat": "run", "min": 35, "km": 6.9, "id": 362, "name": "Tempo by the river"}], "future": false}, {"date": "2026-10-30", "label": "Fri", "acts": [{"cat": "walk", "min": 35, "km": 3.0, "id": 363, "name": "Lunchtime walk"}], "future": false}, {"date": "2026-10-31", "label": "Sat", "acts": [{"cat": "run", "min": 46, "km": 9.0, "id": 364, "name": "Tempo by the river"}], "future": false}, {"date": "2026-11-01", "label": "Sun", "acts": [], "future": false}], "avg_prev_hours": 4.906041666666667, "avg_prev_km": 59.3595, "avg_prev_count": 6.0}, "weekly": {"weeks": ["2026-05-04", "2026-05-11", "2026-05-18", "2026-05-25", "2026-06-01", "2026-06-08", "2026-06-15", "2026-06-22", "2026-06-29", "2026-07-06", "2026-07-13", "2026-07-20", "2026-07-27", "2026-08-03", "2026-08-10", "2026-08-17", "2026-08-24", "2026-08-31", "2026-09-07", "2026-09-14", "2026-09-21", "2026-09-28", "2026-10-05", "2026-10-12", "2026-10-19", "2026-10-26"], "hours": {"run": [2.17, 2.05, 2.54, 2.6, 2.3, 0.94, 0.0, 2.69, 2.34, 2.28, 2.32, 2.43, 2.2, 2.26, 2.71, 2.43, 2.12, 2.02, 2.53, 2.4, 1.83, 2.2, 2.56, 2.51, 2.17, 1.76], "walk": [0.82, 0.58, 0.76, 0.87, 0.74, 0.53, 0.0, 0.92, 0.79, 0.66, 0.74, 0.82, 0.81, 0.56, 0.85, 0.88, 0.78, 0.63, 0.84, 0.87, 0.85, 0.66, 0.86, 0.86, 0.77, 0.59], "cycle": [1.47, 0.97, 1.17, 1.2, 1.48, 0.0, 0.0, 1.28, 1.43, 0.85, 1.25, 1.42, 1.44, 1.01, 1.21, 1.38, 1.4, 0.86, 1.19, 1.29, 1.22, 0.88, 1.28, 1.31, 1.37, 0.0], "strength": [0.65, 0.41, 0.56, 0.58, 0.55, 0.44, 0.0, 0.56, 0.58, 0.41, 0.56, 0.58, 0.65, 0.4, 0.56, 0.64, 0.61, 0.45, 0.59, 0.63, 0.6, 0.44, 0.6, 0.53, 0.62, 0.47]}, "km": {"run": [22.4, 20.6, 25.8, 26.4, 23.4, 10.0, 0.0, 28.0, 24.1, 23.1, 23.9, 25.5, 23.1, 23.4, 28.0, 25.2, 22.3, 21.4, 26.6, 25.5, 20.7, 23.1, 27.3, 26.2, 22.8, 20.2], "walk": [4.2, 2.9, 3.9, 4.3, 3.8, 2.7, 0.0, 4.6, 3.9, 3.4, 3.8, 4.0, 4.1, 2.9, 4.3, 4.4, 3.9, 3.2, 4.1, 4.4, 4.3, 3.3, 4.5, 4.4, 3.9, 3.0], "cycle": [37.6, 25.2, 30.5, 30.2, 37.0, 0.0, 0.0, 32.2, 36.0, 22.0, 31.9, 36.8, 36.1, 25.9, 30.1, 34.7, 36.3, 22.6, 31.1, 32.0, 31.2, 22.4, 32.2, 33.5, 34.1, 0.0]}}, "load": {"available": true, "dates": ["2026-05-06", "2026-05-07", "2026-05-08", "2026-05-09", "2026-05-10", "2026-05-11", "2026-05-12", "2026-05-13", "2026-05-14", "2026-05-15", "2026-05-16", "2026-05-17", "2026-05-18", "2026-05-19", "2026-05-20", "2026-05-21", "2026-05-22", "2026-05-23", "2026-05-24", "2026-05-25", "2026-05-26", "2026-05-27", "2026-05-28", "2026-05-29", "2026-05-30", "2026-05-31", "2026-06-01", "2026-06-02", "2026-06-03", "2026-06-04", "2026-06-05", "2026-06-06", "2026-06-07", "2026-06-08", "2026-06-09", "2026-06-10", "2026-06-11", "2026-06-12", "2026-06-13", "2026-06-14", "2026-06-15", "2026-06-16", "2026-06-17", "2026-06-18", "2026-06-19", "2026-06-20", "2026-06-21", "2026-06-22", "2026-06-23", "2026-06-24", "2026-06-25", "2026-06-26", "2026-06-27", "2026-06-28", "2026-06-29", "2026-06-30", "2026-07-01", "2026-07-02", "2026-07-03", "2026-07-04", "2026-07-05", "2026-07-06", "2026-07-07", "2026-07-08", "2026-07-09", "2026-07-10", "2026-07-11", "2026-07-12", "2026-07-13", "2026-07-14", "2026-07-15", "2026-07-16", "2026-07-17", "2026-07-18", "2026-07-19", "2026-07-20", "2026-07-21", "2026-07-22", "2026-07-23", "2026-07-24", "2026-07-25", "2026-07-26", "2026-07-27", "2026-07-28", "2026-07-29", "2026-07-30", "2026-07-31", "2026-08-01", "2026-08-02", "2026-08-03", "2026-08-04", "2026-08-05", "2026-08-06", "2026-08-07", "2026-08-08", "2026-08-09", "2026-08-10", "2026-08-11", "2026-08-12", "2026-08-13", "2026-08-14", "2026-08-15", "2026-08-16", "2026-08-17", "2026-08-18", "2026-08-19", "2026-08-20", "2026-08-21", "2026-08-22", "2026-08-23", "2026-08-24", "2026-08-25", "2026-08-26", "2026-08-27", "2026-08-28", "2026-08-29", "2026-08-30", "2026-08-31", "2026-09-01", "2026-09-02", "2026-09-03", "2026-09-04", "2026-09-05", "2026-09-06", "2026-09-07", "2026-09-08", "2026-09-09", "2026-09-10", "2026-09-11", "2026-09-12", "2026-09-13", "2026-09-14", "2026-09-15", "2026-09-16", "2026-09-17", "2026-09-18", "2026-09-19", "2026-09-20", "2026-09-21", "2026-09-22", "2026-09-23", "2026-09-24", "2026-09-25", "2026-09-26", "2026-09-27", "2026-09-28", "2026-09-29", "2026-09-30", "2026-10-01", "2026-10-02", "2026-10-03", "2026-10-04", "2026-10-05", "2026-10-06", "2026-10-07", "2026-10-08", "2026-10-09", "2026-10-10", "2026-10-11", "2026-10-12", "2026-10-13", "2026-10-14", "2026-10-15", "2026-10-16", "2026-10-17", "2026-10-18", "2026-10-19", "2026-10-20", "2026-10-21", "2026-10-22", "2026-10-23", "2026-10-24", "2026-10-25", "2026-10-26", "2026-10-27", "2026-10-28", "2026-10-29", "2026-10-30", "2026-10-31", "2026-11-01"], "seven_day": [458.0, 476.0, 476.0, 495.0, 467.0, 467.0, 455.0, 445.0, 391.0, 386.0, 346.0, 373.0, 373.0, 393.0, 399.0, 432.0, 436.0, 453.0, 468.0, 468.0, 468.0, 469.0, 481.0, 482.0, 481.0, 479.0, 479.0, 481.0, 480.0, 474.0, 473.0, 495.0, 463.0, 463.0, 441.0, 435.0, 390.0, 386.0, 266.0, 168.0, 168.0, 120.0, 102.0, 10.0, 0.0, 0.0, 0.0, 0.0, 64.0, 88.0, 244.0, 261.0, 365.0, 503.0, 503.0, 509.0, 510.0, 492.0, 489.0, 501.0, 464.0, 464.0, 437.0, 430.0, 398.0, 396.0, 351.0, 389.0, 389.0, 404.0, 411.0, 434.0, 435.0, 467.0, 443.0, 443.0, 450.0, 450.0, 467.0, 468.0, 484.0, 482.0, 482.0, 485.0, 487.0, 489.0, 489.0, 487.0, 455.0, 455.0, 429.0, 419.0, 379.0, 375.0, 342.0, 400.0, 400.0, 430.0, 437.0, 465.0, 470.0, 483.0, 481.0, 481.0, 480.0, 484.0, 474.0, 475.0, 490.0, 466.0, 466.0, 458.0, 456.0, 467.0, 465.0, 471.0, 442.0, 442.0, 429.0, 423.0, 381.0, 379.0, 334.0, 363.0, 363.0, 372.0, 377.0, 434.0, 437.0, 465.0, 473.0, 473.0, 478.0, 480.0, 466.0, 467.0, 470.0, 462.0, 462.0, 461.0, 459.0, 474.0, 473.0, 470.0, 486.0, 486.0, 469.0, 463.0, 405.0, 402.0, 373.0, 376.0, 376.0, 393.0, 401.0, 444.0, 448.0, 480.0, 478.0, 478.0, 475.0, 471.0, 461.0, 461.0, 465.0, 462.0, 462.0, 460.0, 464.0, 462.0, 460.0, 462.0, 430.0, 430.0, 416.0, 409.0, 390.0, 387.0, 417.0, 322.0], "weekly_average": [446.2, 448.5, 448.8, 450.0, 450.8, 450.8, 450.2, 450.2, 446.8, 446.2, 445.5, 441.5, 441.5, 441.0, 441.0, 442.8, 442.5, 438.2, 441.5, 441.5, 442.8, 442.8, 445.0, 445.0, 443.8, 446.8, 446.8, 449.2, 448.2, 444.5, 444.2, 443.8, 445.8, 445.8, 445.8, 445.8, 444.2, 444.2, 423.8, 394.5, 394.5, 377.5, 371.5, 338.8, 335.2, 310.5, 277.5, 277.5, 276.5, 276.2, 279.5, 280.0, 281.5, 283.5, 283.5, 283.5, 283.8, 284.0, 284.0, 283.0, 283.8, 283.8, 282.5, 282.5, 286.0, 286.5, 304.2, 339.0, 339.0, 353.5, 359.8, 392.0, 395.2, 421.0, 449.8, 449.8, 450.0, 450.2, 447.8, 447.0, 450.8, 444.5, 444.5, 444.0, 444.5, 447.0, 447.0, 447.2, 442.2, 442.2, 442.0, 441.8, 442.2, 441.8, 445.0, 445.0, 445.0, 448.5, 448.2, 450.0, 450.5, 449.0, 454.5, 454.5, 456.0, 456.8, 451.8, 452.2, 450.5, 450.5, 450.5, 449.2, 449.0, 446.2, 446.2, 446.5, 447.2, 447.2, 449.2, 450.0, 446.8, 447.2, 444.5, 438.0, 438.0, 434.8, 435.0, 439.0, 439.0, 440.0, 436.0, 436.0, 434.2, 434.0, 437.0, 437.0, 435.0, 435.0, 435.0, 435.0, 434.8, 438.8, 439.0, 434.8, 446.0, 446.0, 445.0, 444.8, 444.8, 444.8, 444.5, 449.2, 449.2, 450.2, 450.8, 447.2, 447.5, 448.2, 450.5, 450.5, 449.5, 448.5, 446.0, 446.0, 447.0, 450.5, 450.5, 449.2, 449.8, 443.0, 442.8, 445.0, 436.5, 436.5, 436.0, 436.2, 439.2, 439.0, 456.0, 423.0], "exercises": [{"date": "2026-05-06", "id": 186, "name": "Strength & mobility", "load": 28, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-05-07", "id": 187, "name": "Tempo by the river", "load": 152, "focus": "high_aerobic", "benefit": "Tempo"}, {"date": "2026-05-08", "id": 188, "name": "Lunchtime walk", "load": 15, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-05-09", "id": 189, "name": "Weekend ride", "load": 122, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-05-10", "id": 190, "name": "Sunday long run", "load": 90, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-05-12", "id": 192, "name": "Easy park loop", "load": 48, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-05-13", "id": 193, "name": "Strength & mobility", "load": 18, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-05-14", "id": 194, "name": "Tempo by the river", "load": 98, "focus": "high_aerobic", "benefit": "Tempo"}, {"date": "2026-05-15", "id": 195, "name": "Lunchtime walk", "load": 10, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-05-16", "id": 196, "name": "Weekend ride", "load": 82, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-05-17", "id": 197, "name": "Sunday long run", "load": 117, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-05-19", "id": 199, "name": "Easy park loop", "load": 68, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-05-20", "id": 200, "name": "Strength & mobility", "load": 24, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-05-21", "id": 201, "name": "Tempo by the river", "load": 131, "focus": "high_aerobic", "benefit": "Tempo"}, {"date": "2026-05-22", "id": 202, "name": "Lunchtime walk", "load": 14, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-05-23", "id": 203, "name": "Weekend ride", "load": 99, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-05-24", "id": 204, "name": "Sunday long run", "load": 132, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-05-26", "id": 206, "name": "Easy park loop", "load": 68, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-05-27", "id": 207, "name": "Strength & mobility", "load": 25, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-05-28", "id": 208, "name": "Tempo by the river", "load": 143, "focus": "high_aerobic", "benefit": "Tempo"}, {"date": "2026-05-29", "id": 209, "name": "Lunchtime walk", "load": 15, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-05-30", "id": 210, "name": "Weekend ride", "load": 98, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-05-31", "id": 211, "name": "Sunday long run", "load": 130, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-06-02", "id": 213, "name": "Easy park loop", "load": 70, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-06-03", "id": 214, "name": "Strength & mobility", "load": 24, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-06-04", "id": 215, "name": "Tempo by the river", "load": 137, "focus": "high_aerobic", "benefit": "Tempo"}, {"date": "2026-06-05", "id": 216, "name": "Lunchtime walk", "load": 14, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-06-06", "id": 217, "name": "Weekend ride", "load": 120, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-06-07", "id": 218, "name": "Sunday long run", "load": 98, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-06-09", "id": 220, "name": "Easy park loop", "load": 48, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-06-10", "id": 221, "name": "Strength & mobility", "load": 18, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-06-11", "id": 222, "name": "Tempo by the river", "load": 92, "focus": "high_aerobic", "benefit": "Tempo"}, {"date": "2026-06-12", "id": 223, "name": "Lunchtime walk", "load": 10, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-06-23", "id": 234, "name": "Easy park loop", "load": 64, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-06-24", "id": 235, "name": "Strength & mobility", "load": 24, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-06-25", "id": 236, "name": "Tempo by the river", "load": 156, "focus": "high_aerobic", "benefit": "Tempo"}, {"date": "2026-06-26", "id": 237, "name": "Lunchtime walk", "load": 17, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-06-27", "id": 238, "name": "Weekend ride", "load": 104, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-06-28", "id": 239, "name": "Sunday long run", "load": 138, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-06-30", "id": 241, "name": "Easy park loop", "load": 70, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-07-01", "id": 242, "name": "Strength & mobility", "load": 25, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-07-02", "id": 243, "name": "Tempo by the river", "load": 138, "focus": "high_aerobic", "benefit": "Tempo"}, {"date": "2026-07-03", "id": 244, "name": "Lunchtime walk", "load": 14, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-07-04", "id": 245, "name": "Weekend ride", "load": 116, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-07-05", "id": 246, "name": "Sunday long run", "load": 101, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-07-07", "id": 248, "name": "Easy park loop", "load": 43, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-07-08", "id": 249, "name": "Strength & mobility", "load": 18, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-07-09", "id": 250, "name": "Tempo by the river", "load": 106, "focus": "high_aerobic", "benefit": "Tempo"}, {"date": "2026-07-10", "id": 251, "name": "Lunchtime walk", "load": 12, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-07-11", "id": 252, "name": "Weekend ride", "load": 71, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-07-12", "id": 253, "name": "Sunday long run", "load": 139, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-07-14", "id": 255, "name": "Easy park loop", "load": 58, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-07-15", "id": 256, "name": "Strength & mobility", "load": 25, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-07-16", "id": 257, "name": "Tempo by the river", "load": 129, "focus": "high_aerobic", "benefit": "Tempo"}, {"date": "2026-07-17", "id": 258, "name": "Lunchtime walk", "load": 13, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-07-18", "id": 259, "name": "Weekend ride", "load": 103, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-07-19", "id": 260, "name": "Sunday long run", "load": 115, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-07-21", "id": 262, "name": "Easy park loop", "load": 65, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-07-22", "id": 263, "name": "Strength & mobility", "load": 25, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-07-23", "id": 264, "name": "Tempo by the river", "load": 146, "focus": "high_aerobic", "benefit": "Tempo"}, {"date": "2026-07-24", "id": 265, "name": "Lunchtime walk", "load": 14, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-07-25", "id": 266, "name": "Weekend ride", "load": 119, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-07-26", "id": 267, "name": "Sunday long run", "load": 113, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-07-28", "id": 269, "name": "Easy park loop", "load": 68, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-07-29", "id": 270, "name": "Strength & mobility", "load": 27, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-07-30", "id": 271, "name": "Tempo by the river", "load": 148, "focus": "high_aerobic", "benefit": "Tempo"}, {"date": "2026-07-31", "id": 272, "name": "Lunchtime walk", "load": 14, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-08-01", "id": 273, "name": "Weekend ride", "load": 117, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-08-02", "id": 274, "name": "Sunday long run", "load": 81, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-08-04", "id": 276, "name": "Easy park loop", "load": 42, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-08-05", "id": 277, "name": "Strength & mobility", "load": 17, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-08-06", "id": 278, "name": "Tempo by the river", "load": 108, "focus": "high_aerobic", "benefit": "Tempo"}, {"date": "2026-08-07", "id": 279, "name": "Lunchtime walk", "load": 10, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-08-08", "id": 280, "name": "Weekend ride", "load": 84, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-08-09", "id": 281, "name": "Sunday long run", "load": 139, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-08-11", "id": 283, "name": "Easy park loop", "load": 72, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-08-12", "id": 284, "name": "Strength & mobility", "load": 24, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-08-13", "id": 285, "name": "Tempo by the river", "load": 136, "focus": "high_aerobic", "benefit": "Tempo"}, {"date": "2026-08-14", "id": 286, "name": "Lunchtime walk", "load": 15, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-08-15", "id": 287, "name": "Weekend ride", "load": 97, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-08-16", "id": 288, "name": "Sunday long run", "load": 137, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-08-18", "id": 290, "name": "Easy park loop", "load": 71, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-08-19", "id": 291, "name": "Strength & mobility", "load": 28, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-08-20", "id": 292, "name": "Tempo by the river", "load": 126, "focus": "high_aerobic", "benefit": "Tempo"}, {"date": "2026-08-21", "id": 293, "name": "Lunchtime walk", "load": 16, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-08-22", "id": 294, "name": "Weekend ride", "load": 112, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-08-23", "id": 295, "name": "Sunday long run", "load": 113, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-08-25", "id": 297, "name": "Easy park loop", "load": 63, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-08-26", "id": 298, "name": "Strength & mobility", "load": 26, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-08-27", "id": 299, "name": "Tempo by the river", "load": 137, "focus": "high_aerobic", "benefit": "Tempo"}, {"date": "2026-08-28", "id": 300, "name": "Lunchtime walk", "load": 14, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-08-29", "id": 301, "name": "Weekend ride", "load": 118, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-08-30", "id": 302, "name": "Sunday long run", "load": 84, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-09-01", "id": 304, "name": "Edinburgh hill loop", "load": 50, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-09-02", "id": 305, "name": "Strength & mobility", "load": 20, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-09-03", "id": 306, "name": "Tempo by the river", "load": 95, "focus": "high_aerobic", "benefit": "Tempo"}, {"date": "2026-09-04", "id": 307, "name": "Lunchtime walk", "load": 12, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-09-05", "id": 308, "name": "Weekend ride", "load": 73, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-09-06", "id": 309, "name": "Sunday long run", "load": 113, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-09-08", "id": 311, "name": "Easy park loop", "load": 59, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-09-09", "id": 312, "name": "Strength & mobility", "load": 25, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-09-10", "id": 313, "name": "Tempo by the river", "load": 152, "focus": "high_aerobic", "benefit": "Tempo"}, {"date": "2026-09-11", "id": 314, "name": "Lunchtime walk", "load": 15, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-09-12", "id": 315, "name": "Weekend ride", "load": 101, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-09-13", "id": 316, "name": "Sunday long run", "load": 121, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-09-15", "id": 318, "name": "Easy park loop", "load": 64, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-09-16", "id": 319, "name": "Strength & mobility", "load": 27, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-09-17", "id": 320, "name": "Tempo by the river", "load": 138, "focus": "high_aerobic", "benefit": "Tempo"}, {"date": "2026-09-18", "id": 321, "name": "Lunchtime walk", "load": 16, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-09-19", "id": 322, "name": "Weekend ride", "load": 104, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-09-20", "id": 323, "name": "Sunday long run", "load": 113, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-09-22", "id": 325, "name": "Easy park loop", "load": 63, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-09-23", "id": 326, "name": "Strength & mobility", "load": 25, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-09-24", "id": 327, "name": "Tempo by the river", "load": 153, "focus": "high_aerobic", "benefit": "Tempo"}, {"date": "2026-09-25", "id": 328, "name": "Lunchtime walk", "load": 15, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-09-26", "id": 329, "name": "Weekend ride", "load": 101, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-09-27", "id": 330, "name": "Riverside 5K", "load": 129, "focus": "unknown", "benefit": "Threshold"}, {"date": "2026-09-29", "id": 332, "name": "Easy park loop", "load": 46, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-09-30", "id": 333, "name": "Strength & mobility", "load": 19, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-10-01", "id": 334, "name": "Tempo by the river", "load": 95, "focus": "high_aerobic", "benefit": "Tempo"}, {"date": "2026-10-02", "id": 335, "name": "Lunchtime walk", "load": 12, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-10-03", "id": 336, "name": "Weekend ride", "load": 72, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-10-04", "id": 337, "name": "Sunday long run", "load": 132, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-10-06", "id": 339, "name": "Easy park loop", "load": 63, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-10-07", "id": 340, "name": "Strength & mobility", "load": 27, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-10-08", "id": 341, "name": "Tempo by the river", "load": 138, "focus": "high_aerobic", "benefit": "Tempo"}, {"date": "2026-10-09", "id": 342, "name": "Lunchtime walk", "load": 16, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-10-10", "id": 343, "name": "Weekend ride", "load": 104, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-10-11", "id": 344, "name": "Sunday long run", "load": 130, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-10-13", "id": 346, "name": "Easy park loop", "load": 60, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-10-14", "id": 347, "name": "Strength & mobility", "load": 23, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-10-15", "id": 348, "name": "Tempo by the river", "load": 128, "focus": "high_aerobic", "benefit": "Tempo"}, {"date": "2026-10-16", "id": 349, "name": "Lunchtime walk", "load": 16, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-10-17", "id": 350, "name": "Weekend ride", "load": 108, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-10-18", "id": 351, "name": "Sunday long run", "load": 127, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-10-20", "id": 353, "name": "Easy park loop", "load": 58, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-10-21", "id": 354, "name": "Strength & mobility", "load": 27, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-10-22", "id": 355, "name": "Tempo by the river", "load": 126, "focus": "high_aerobic", "benefit": "Tempo"}, {"date": "2026-10-23", "id": 356, "name": "Lunchtime walk", "load": 14, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-10-24", "id": 357, "name": "Weekend ride", "load": 110, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-10-25", "id": 358, "name": "Sunday long run", "load": 95, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-10-27", "id": 360, "name": "Easy park loop", "load": 44, "focus": "low_aerobic", "benefit": "Aerobic Base"}, {"date": "2026-10-28", "id": 361, "name": "Strength & mobility", "load": 20, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-10-29", "id": 362, "name": "Tempo by the river", "load": 107, "focus": "high_aerobic", "benefit": "Tempo"}, {"date": "2026-10-30", "id": 363, "name": "Lunchtime walk", "load": 11, "focus": "low_aerobic", "benefit": "Recovery"}, {"date": "2026-10-31", "id": 364, "name": "Tempo by the river", "load": 140, "focus": "high_aerobic", "benefit": "Tempo"}], "focus": [{"key": "anaerobic", "label": "Anaerobic", "load": 0, "count": 0}, {"key": "high_aerobic", "label": "High aerobic", "load": 639, "count": 5}, {"key": "low_aerobic", "label": "Low aerobic", "load": 1053, "count": 18}], "focus_start": "2026-10-05", "end": "2026-11-01", "missing": 0, "focus_missing": 0, "balance": {"available": true, "fitness": [62.3, 64.4, 63.3, 64.6, 65.2, 63.7, 63.3, 62.3, 63.1, 61.9, 62.3, 63.6, 62.1, 62.3, 61.4, 63.0, 61.8, 62.7, 64.4, 62.8, 63.0, 62.1, 64.0, 62.8, 63.6, 65.2, 63.7, 63.8, 62.9, 64.6, 63.4, 64.8, 65.6, 64.0, 63.6, 62.6, 63.3, 62.0, 60.5, 59.1, 57.7, 56.4, 55.0, 53.7, 52.5, 51.2, 50.0, 48.9, 49.2, 48.6, 51.2, 50.3, 51.6, 53.6, 52.4, 52.8, 52.1, 54.2, 53.2, 54.7, 55.8, 54.5, 54.2, 53.3, 54.6, 53.6, 54.0, 56.0, 54.7, 54.8, 54.1, 55.8, 54.8, 55.9, 57.3, 56.0, 56.2, 55.5, 57.6, 56.6, 58.0, 59.3, 57.9, 58.2, 57.4, 59.6, 58.5, 59.9, 60.4, 58.9, 58.6, 57.6, 58.8, 57.6, 58.2, 60.1, 58.7, 59.0, 58.2, 60.0, 59.0, 59.9, 61.7, 60.2, 60.5, 59.7, 61.3, 60.2, 61.4, 62.7, 61.2, 61.2, 60.4, 62.2, 61.1, 62.4, 62.9, 61.4, 61.2, 60.2, 61.0, 59.9, 60.2, 61.4, 60.0, 59.9, 59.1, 61.3, 60.2, 61.2, 62.6, 61.1, 61.2, 60.4, 62.2, 61.1, 62.1, 63.3, 61.8, 61.9, 61.0, 63.2, 62.0, 62.9, 64.5, 63.0, 62.6, 61.6, 62.3, 61.2, 61.4, 63.1, 61.6, 61.6, 60.8, 62.6, 61.5, 62.5, 64.1, 62.6, 62.5, 61.6, 63.2, 62.1, 63.1, 64.6, 63.1, 63.0, 62.2, 63.7, 62.5, 63.6, 64.3, 62.8, 62.4, 61.4, 62.5, 61.3, 63.1, 61.6], "fatigue": [58.7, 71.1, 63.7, 71.4, 73.9, 64.1, 61.9, 56.1, 61.7, 54.8, 58.4, 66.2, 57.4, 58.8, 54.2, 64.4, 57.7, 63.2, 72.3, 62.7, 63.4, 58.3, 69.6, 62.3, 67.1, 75.4, 65.4, 66.0, 60.4, 70.6, 63.1, 70.7, 74.3, 64.4, 62.2, 56.3, 61.1, 54.3, 47.1, 40.8, 35.4, 30.7, 26.6, 23.0, 20.0, 17.3, 15.0, 13.0, 19.8, 20.4, 38.4, 35.6, 44.7, 57.1, 49.5, 52.2, 48.6, 60.5, 54.3, 62.5, 67.6, 58.6, 56.6, 51.4, 58.7, 52.5, 54.9, 66.1, 57.3, 57.4, 53.1, 63.2, 56.5, 62.7, 69.7, 60.4, 61.0, 56.2, 68.2, 61.0, 68.7, 74.6, 64.7, 65.1, 60.0, 71.7, 64.1, 71.1, 72.4, 62.8, 60.0, 54.3, 61.4, 54.6, 58.5, 69.2, 60.0, 61.6, 56.6, 67.2, 60.2, 65.1, 74.7, 64.7, 65.6, 60.6, 69.3, 62.2, 68.8, 74.7, 64.8, 64.5, 59.4, 69.7, 62.3, 69.7, 71.6, 62.1, 60.5, 55.1, 60.4, 54.0, 56.5, 64.0, 55.5, 56.0, 51.8, 65.2, 58.5, 64.2, 71.7, 62.2, 62.4, 57.7, 68.4, 61.4, 67.1, 73.2, 63.5, 63.4, 58.3, 70.9, 63.5, 68.4, 76.5, 66.3, 63.6, 57.7, 62.6, 55.9, 58.0, 67.9, 58.9, 59.4, 55.1, 66.1, 59.5, 65.4, 74.0, 64.1, 63.6, 58.2, 67.5, 60.6, 66.9, 74.9, 65.0, 64.0, 59.1, 68.0, 60.8, 67.4, 71.0, 61.6, 59.2, 54.0, 61.1, 54.4, 65.8, 57.0], "form": [-0.3, 3.6, -6.7, -0.4, -6.8, -8.7, -0.4, 1.4, 6.2, 1.5, 7.1, 3.9, -2.6, 4.7, 3.5, 7.2, -1.4, 4.2, -0.5, -8.0, 0.1, -0.5, 3.8, -5.6, 0.5, -3.4, -10.2, -1.7, -2.2, 2.5, -6.0, 0.4, -5.9, -8.7, -0.4, 1.4, 6.2, 2.2, 7.7, 13.5, 18.3, 22.4, 25.7, 28.5, 30.7, 32.5, 33.9, 35.0, 35.9, 29.4, 28.3, 12.7, 14.8, 6.9, -3.5, 2.9, 0.6, 3.5, -6.3, -1.1, -7.8, -11.9, -4.2, -2.4, 1.9, -4.1, 1.1, -0.9, -10.1, -2.6, -2.7, 1.0, -7.4, -1.7, -6.8, -12.3, -4.4, -4.8, -0.8, -10.6, -4.4, -10.6, -15.3, -6.7, -6.9, -2.6, -12.2, -5.6, -11.2, -12.0, -3.8, -1.5, 3.3, -2.7, 3.0, -0.3, -9.1, -1.3, -2.6, 1.6, -7.1, -1.2, -5.2, -13.0, -4.5, -5.1, -0.9, -8.0, -2.0, -7.4, -12.1, -3.6, -3.3, 1.0, -7.5, -1.2, -7.3, -8.7, -0.7, 0.7, 5.1, 0.6, 5.9, 3.7, -2.6, 4.5, 4.0, 7.3, -3.9, 1.7, -3.0, -9.1, -1.1, -1.2, 2.7, -6.2, -0.3, -5.0, -9.9, -1.6, -1.5, 2.7, -7.7, -1.4, -5.5, -12.0, -3.3, -1.0, 3.9, -0.3, 5.2, 3.4, -4.8, 2.7, 2.2, 5.7, -3.5, 2.1, -2.9, -9.9, -1.5, -1.0, 3.4, -4.3, 1.4, -3.8, -10.3, -1.8, -1.0, 3.1, -4.3, 1.7, -3.8, -6.7, 1.2, 3.1, 7.4, 1.4, 6.8, -2.7], "latest": {"fitness": 61.6, "fatigue": 57.0, "form": -2.7}, "missing": 0, "warming_up": false}}, "calendar": {"start": "2025-11-02", "end": "2026-11-01", "days": [["2025-11-02", 66], ["2025-11-04", 36], ["2025-11-05", 30], ["2025-11-06", 43], ["2025-11-07", 52], ["2025-11-08", 83], ["2025-11-09", 73], ["2025-11-11", 37], ["2025-11-12", 39], ["2025-11-13", 46], ["2025-11-14", 45], ["2025-11-15", 89], ["2025-11-16", 67], ["2025-11-18", 36], ["2025-11-19", 35], ["2025-11-20", 41], ["2025-11-21", 55], ["2025-11-22", 85], ["2025-11-23", 53], ["2025-11-25", 25], ["2025-11-26", 24], ["2025-11-27", 30], ["2025-11-28", 33], ["2025-11-29", 52], ["2025-11-30", 59], ["2025-12-02", 36], ["2025-12-03", 38], ["2025-12-04", 40], ["2025-12-05", 53], ["2025-12-06", 77], ["2025-12-07", 63], ["2025-12-09", 33], ["2025-12-10", 33], ["2025-12-11", 46], ["2025-12-12", 50], ["2025-12-13", 87], ["2025-12-14", 72], ["2025-12-16", 35], ["2025-12-17", 32], ["2025-12-18", 42], ["2025-12-19", 44], ["2025-12-20", 76], ["2025-12-21", 52], ["2025-12-23", 26], ["2025-12-24", 25], ["2025-12-25", 32], ["2025-12-26", 38], ["2025-12-27", 57], ["2025-12-28", 68], ["2025-12-30", 36], ["2025-12-31", 39], ["2026-01-01", 42], ["2026-01-02", 44], ["2026-01-03", 81], ["2026-01-04", 69], ["2026-01-06", 35], ["2026-01-07", 36], ["2026-01-08", 38], ["2026-01-09", 51], ["2026-01-10", 76], ["2026-01-11", 70], ["2026-01-13", 36], ["2026-01-14", 33], ["2026-01-15", 44], ["2026-01-16", 49], ["2026-01-17", 87], ["2026-01-18", 53], ["2026-01-20", 26], ["2026-01-21", 28], ["2026-01-22", 29], ["2026-01-23", 39], ["2026-01-24", 52], ["2026-01-25", 60], ["2026-01-27", 35], ["2026-01-28", 39], ["2026-01-29", 47], ["2026-01-30", 49], ["2026-01-31", 73], ["2026-02-01", 74], ["2026-02-03", 38], ["2026-02-04", 31], ["2026-02-05", 47], ["2026-02-06", 52], ["2026-02-07", 76], ["2026-02-08", 66], ["2026-02-10", 32], ["2026-02-11", 35], ["2026-02-12", 47], ["2026-02-13", 54], ["2026-02-14", 83], ["2026-02-15", 48], ["2026-02-17", 23], ["2026-02-18", 27], ["2026-02-19", 28], ["2026-02-20", 40], ["2026-02-21", 55], ["2026-02-22", 68], ["2026-02-24", 32], ["2026-02-25", 33], ["2026-02-26", 43], ["2026-02-27", 56], ["2026-02-28", 81], ["2026-03-01", 74], ["2026-03-03", 31], ["2026-03-04", 31], ["2026-03-05", 43], ["2026-03-06", 47], ["2026-03-07", 70], ["2026-03-08", 62], ["2026-03-10", 40], ["2026-03-11", 36], ["2026-03-12", 41], ["2026-03-13", 47], ["2026-03-14", 75], ["2026-03-15", 44], ["2026-03-17", 25], ["2026-03-18", 25], ["2026-03-19", 30], ["2026-03-20", 40], ["2026-03-21", 61], ["2026-03-22", 64], ["2026-03-24", 37], ["2026-03-25", 39], ["2026-03-26", 43], ["2026-03-27", 46], ["2026-03-28", 78], ["2026-03-29", 74], ["2026-03-31", 36], ["2026-04-01", 38], ["2026-04-02", 40], ["2026-04-03", 52], ["2026-04-04", 85], ["2026-04-05", 72], ["2026-04-07", 31], ["2026-04-08", 39], ["2026-04-09", 46], ["2026-04-10", 48], ["2026-04-11", 85], ["2026-04-12", 48], ["2026-04-14", 27], ["2026-04-15", 24], ["2026-04-16", 35], ["2026-04-17", 39], ["2026-04-18", 61], ["2026-04-19", 73], ["2026-04-21", 38], ["2026-04-22", 34], ["2026-04-23", 40], ["2026-04-24", 51], ["2026-04-25", 84], ["2026-04-26", 65], ["2026-04-28", 35], ["2026-04-29", 35], ["2026-04-30", 41], ["2026-05-01", 51], ["2026-05-02", 74], ["2026-05-03", 64], ["2026-05-05", 32], ["2026-05-06", 39], ["2026-05-07", 48], ["2026-05-08", 49], ["2026-05-09", 88], ["2026-05-10", 50], ["2026-05-12", 26], ["2026-05-13", 25], ["2026-05-14", 32], ["2026-05-15", 35], ["2026-05-16", 58], ["2026-05-17", 65], ["2026-05-19", 37], ["2026-05-20", 34], ["2026-05-21", 41], ["2026-05-22", 46], ["2026-05-23", 70], ["2026-05-24", 74], ["2026-05-26", 38], ["2026-05-27", 35], ["2026-05-28", 44], ["2026-05-29", 52], ["2026-05-30", 72], ["2026-05-31", 74], ["2026-06-02", 40], ["2026-06-03", 33], ["2026-06-04", 44], ["2026-06-05", 44], ["2026-06-06", 89], ["2026-06-07", 55], ["2026-06-09", 27], ["2026-06-10", 26], ["2026-06-11", 30], ["2026-06-12", 32], ["2026-06-23", 35], ["2026-06-24", 34], ["2026-06-25", 49], ["2026-06-26", 55], ["2026-06-27", 77], ["2026-06-28", 77], ["2026-06-30", 39], ["2026-07-01", 35], ["2026-07-02", 44], ["2026-07-03", 48], ["2026-07-04", 86], ["2026-07-05", 58], ["2026-07-07", 24], ["2026-07-08", 25], ["2026-07-09", 34], ["2026-07-10", 40], ["2026-07-11", 51], ["2026-07-12", 79], ["2026-07-14", 33], ["2026-07-15", 34], ["2026-07-16", 41], ["2026-07-17", 44], ["2026-07-18", 75], ["2026-07-19", 65], ["2026-07-21", 36], ["2026-07-22", 35], ["2026-07-23", 46], ["2026-07-24", 49], ["2026-07-25", 85], ["2026-07-26", 63], ["2026-07-28", 37], ["2026-07-29", 39], ["2026-07-30", 49], ["2026-07-31", 49], ["2026-08-01", 86], ["2026-08-02", 46], ["2026-08-04", 23], ["2026-08-05", 24], ["2026-08-06", 36], ["2026-08-07", 33], ["2026-08-08", 60], ["2026-08-09", 77], ["2026-08-11", 42], ["2026-08-12", 34], ["2026-08-13", 44], ["2026-08-14", 51], ["2026-08-15", 73], ["2026-08-16", 77], ["2026-08-18", 40], ["2026-08-19", 38], ["2026-08-20", 42], ["2026-08-21", 53], ["2026-08-22", 83], ["2026-08-23", 64], ["2026-08-25", 35], ["2026-08-26", 37], ["2026-08-27", 43], ["2026-08-28", 47], ["2026-08-29", 84], ["2026-08-30", 49], ["2026-09-01", 28], ["2026-09-02", 27], ["2026-09-03", 30], ["2026-09-04", 38], ["2026-09-05", 52], ["2026-09-06", 63], ["2026-09-08", 33], ["2026-09-09", 36], ["2026-09-10", 49], ["2026-09-11", 50], ["2026-09-12", 72], ["2026-09-13", 70], ["2026-09-15", 37], ["2026-09-16", 38], ["2026-09-17", 44], ["2026-09-18", 52], ["2026-09-19", 77], ["2026-09-20", 63], ["2026-09-22", 35], ["2026-09-23", 36], ["2026-09-24", 51], ["2026-09-25", 51], ["2026-09-26", 73], ["2026-09-27", 24], ["2026-09-29", 26], ["2026-09-30", 26], ["2026-10-01", 32], ["2026-10-02", 39], ["2026-10-03", 53], ["2026-10-04", 75], ["2026-10-06", 36], ["2026-10-07", 36], ["2026-10-08", 45], ["2026-10-09", 52], ["2026-10-10", 77], ["2026-10-11", 73], ["2026-10-13", 35], ["2026-10-14", 32], ["2026-10-15", 42], ["2026-10-16", 52], ["2026-10-17", 79], ["2026-10-18", 73], ["2026-10-20", 32], ["2026-10-21", 37], ["2026-10-22", 42], ["2026-10-23", 46], ["2026-10-24", 82], ["2026-10-25", 56], ["2026-10-27", 25], ["2026-10-28", 28], ["2026-10-29", 35], ["2026-10-30", 35], ["2026-10-31", 46]]}, "tiles": [{"label": "Resting heart rate", "unit": "bpm", "value": 49, "date": "2026-11-01", "avg7": 50.142857142857146, "avg30": 50.56666666666667, "delta": -0.4238095238095241, "good": null, "spark": [49, 49, 50, 51, 51, 51, 51, 50, 49, 49, 48, 49, 50, 55, 55, 55, 55, 54, 49, 48, 48, 49, 49, 50, 51, 51, 51, 50, 49, 49], "digits": 0, "fmt": null, "chart": "chart-hr"}, {"label": "HRV last night", "unit": "ms", "value": 62, "date": "2026-11-01", "avg7": 63.42857142857143, "avg30": 58.86666666666667, "delta": 4.5619047619047635, "good": true, "spark": [57, 59, 62, 64, 66, 66, 64, 61, 58, 56, 56, 58, 61, 51, 53, 53, 51, 49, 59, 57, 56, 57, 60, 63, 65, 66, 65, 63, 60, 62], "digits": 0, "fmt": null, "chart": "chart-hrv"}, {"label": "VO2max", "unit": "", "value": 52.6, "date": "2026-11-01", "avg7": 52.65714285714286, "avg30": 52.32666666666667, "delta": 0.33047619047619037, "good": true, "spark": [52.1, 52.2, 52.2, 52.3, 52.4, 52.4, 52.4, 52.3, 52.3, 52.3, 52.3, 52.3, 52.4, 52.5, 52.5, 52.5, 52.5, 52.5, 52.5, 52.4, 52.4, 52.5, 52.5, 52.6, 52.7, 52.7, 52.7, 52.7, 52.6, 52.6], "digits": 1, "fmt": null, "chart": "chart-vo2"}, {"label": "Sleep score", "unit": "", "value": 86, "date": "2026-11-01", "avg7": 85.14285714285714, "avg30": 79.76666666666667, "delta": 5.376190476190473, "good": true, "spark": [77, 79, 83, 86, 88, 88, 85, 82, 78, 76, 76, 78, 82, 72, 74, 75, 73, 70, 79, 77, 76, 77, 81, 84, 87, 88, 87, 84, 80, 86], "digits": 0, "fmt": null, "chart": "chart-sleep-score"}], "sports": ["run", "walk", "cycle", "strength"]}