Health & Fitness Dashboard

Personal Health & Fitness Tracker - Frans Vermaak
Loading...
Current Time
--:--:--
Last: 16 Feb 05:17 SAST
βœ… TODAY'S COACHING VERDICT
EXCELLENT RECOVERY β€” TECHNIQUE RUN DONE! Woke up with readiness 87 (HIGH), fully recharged battery 100. Sleep was superb (91/100, 9.9h). HRV soared to 64ms β€” ABOVE baseline (43-61). Technique Run completed: 4.5km in 29:40, avg HR 148. Body battery barely dipped (100β†’92). Weight 79.2kg, body fat 22.2% β€” both hitting target zone! Tomorrow: Z2 Endurance Ride 90min. ACWR 0.84 β€” optimal. RHR 40bpm. πŸ”₯
Weight
79.2kg
Target: 78-80kg
↓1.3kg βœ“ In Zone
Body Fat
22.2%
Target: <22%
↓1.2% Almost!
FTP
240W
3.03 W/kg
β†’ 255W
VO2 Max
46
Cycling
Good
Endurance
5898
TRAINED
β†’ 6100
Fitness Age
44.2y
Actual: 50y
-5.8y
Race Readiness
Currently at ~45% readiness with 173 days to race day
Training Phase Progress
Base Building Week 5 / 8
62%
Started: 19 January 2026
Ends: ~23 March 2026
Focus: Aerobic base, Z2 endurance, technique
Quick Health Traffic Light
Sleep
8.02h
EXCELLENT (score 96)
HRV
54ms
BALANCED
Stress
27
AVG (max 99 during ride)
Body Battery
40
Post-ride (was 98 AM)
Sleep Quality - Last Night
96
EXCELLENT - 8.02 hours
HRV Trend (7 Days)
54ms
Last night (Baseline: 43-61ms, Weekly avg: 55ms)
Body Battery Trend (7 Days)
Stress Distribution (Today)
27
Average (Max: 99 during ride) - LOW overall
Resting Heart Rate
41bpm
7-day average: 41 bpm (excellent)
Excellent cardiovascular fitness
Respiration Rate
13brpm
Normal range (12-20 breaths/min)
SpO2 (Blood Oxygen)
Normal
All readings within healthy range
Current Weight
79.2kg
Feb average: 80.4kg
↓1.3kg β€” In target zone!
Body Fat
22.2%
Feb average: 23.5%
↓1.3% β€” Near target!
Muscle Mass
31.36kg
Feb average: 31.66kg
Maintained
Weight Trend (February 2026)
βœ… Target Zone: 78-80kg β€” YOU'RE IN! At 79.2kg you've hit the target zone! Body fat 22.2% is nearly at the <22% goal. Keep doing what you're doing. W/kg now 3.03 β€” above the 3.0 threshold.
Body Fat Percentage Trend (February 2026)
Target: <22% - Current 23.4% is close. Continue with current nutrition and training load. A 1-1.5% reduction would improve climbing efficiency.
Muscle Mass Trend (February 2026)
BMI Trend (February 2026)
Current BMI: 26.0 (overweight category)
Note: BMI doesn't account for muscle mass. Your fitness age of 44.2 (5.8 years younger) indicates excellent health despite BMI classification.
Detailed Body Composition Data (February 2026)
Date Weight (kg) Body Fat (%) Muscle Mass (kg) BMI
Training Status
PRODUCTIVE
Cycling
Fitness Improving
Acute Load
551
7-day load
Chronic Load
645
28-day load
Load Ratio
0.85
ACWR: OPTIMAL
Sweet spot zone
Training Load Chart (Acute vs Chronic)
Status: OPTIMAL ACWR (0.85) - Acute load 551 vs chronic 645. Load ratio 0.85 β€” right in the optimal 0.8-1.3 zone. Mon Sweet Spot + Tue Technique Run done. Wed Z2 Endurance and Thu Tempo will keep building load progressively.
Weekly Intensity Minutes (Last 6 Weeks)
Progress: Last week (Feb 9) hit 350 minutes (78% of 450 target). Solid upward trend from Jan lows. This week (Feb 16) just started β€” targeting 420+ minutes with Sweet Spot, endurance, and tempo sessions planned.
Endurance Score Progress
TRAINED β†’ WELL_TRAINED 5898 / 6100
96.7%
Only 202 points from WELL_TRAINED status. Your long ride consistency is building this nicely. Expected to reach target by early March.
VO2 Max Trend
46
Cycling VO2 Max
Running: 44.0 | Cycling: 46.0
Both are "Good" for age 50. VO2 max will improve with Build phase intervals.
Garmin Race Predictions
5K
25:30
10K
56:29
Half Marathon
2:12:20
Marathon
5:03:16
Personal Records
FASTEST 5K
30:57
LONGEST RIDE
262.90km
MOST ELEVATION
2,840m
FASTEST 100K
4:10:00
LONGEST RUN
8.15km
Training Balance (Monthly Load Distribution)
AEROBIC_LOW_FOCUS - Perfect for Base Building phase. 1148 Aerobic Low vs 986 Aerobic High vs 352 Anaerobic. This ratio is exactly what we want right nowβ€”building aerobic capacity foundation.
Recent Activities (Last 4 Weeks)
Date Activity Type Distance Duration Avg HR Max HR Power Calories Strava
This Week Summary
101
Intensity Minutes (Week of Feb 16)
Moderate: 74 min | Vigorous: 27 min
22% of goal (450 min) β€” 3 of 5 sessions done
Last Week Summary
350
Intensity Minutes (Week of Feb 9)
Moderate: 170 min | Vigorous: 180 min
78% of goal
4-Week Trend
↑
Improving Volume
Week avg: 299 minutes
Building consistently
25-Week Periodised Training Plan
Complete plan from now (16 Feb 2026) to race day (9 Aug 2026). Currently in Base Building Phase, Week 5 of 8. Plan progresses through: Base Building β†’ Build 1 β†’ Build 2 β†’ Peak β†’ Specialization β†’ Race-Specific β†’ Taper.
THIS WEEK (Mon 16 Feb – Sat 21 Feb 2026) β€” Base Building Week 5
Monday, Feb 16 βœ“ COMPLETED
Sweet Spot Intervals: 59 min on ROUVY. Avg HR 139, NP 185W. βœ“ Done
Tuesday, Feb 17 ← TODAY βœ“ COMPLETED
Technique Run: 4.5km in 29:40, avg HR 148, max HR 167. Centurion outdoor run. βœ“ Done. Morning readiness was 87 (HIGH)!
Wednesday, Feb 18 ENDURANCE
Z2 Endurance Ride: 90 min @ Z2 (128-173W, HR 121-151). Can be outdoor gravel or indoor. Practice race nutrition: 60-80g carbs/hour.
Thursday, Feb 19 TEMPO
Tempo Intervals: 10 min warmup, 2Γ—20 min @ Z3 (174-207W, HR 151-166), 5 min recovery, 10 min cooldown. Total: 65 min.
Friday, Feb 20 REST DAY
MANDATORY REST β€” Complete rest. Prepare for tomorrow's long ride. Early bedtime (21:00). Hydration and nutrition focus.
Saturday, Feb 21 LONG RIDE
Long Endurance Ride: 4 hours @ Z2 (128-173W). Outdoor gravel/MTB preferred. Include hills but keep power in Z2. Practice race nutrition: 60-80g carbs/hour, 750ml fluid/hour. Target: 3500+ calories.
Week Target: TSS ~550 | Total Hours: ~8 | Intensity Minutes: 420+ | FTP test next Monday 23 Feb!
Complete 25-Week Training Plan Overview
BASE BUILDING (Week 4/8)
19 Jan - 23 Mar 2026
Focus: Aerobic endurance, Z2 volume, bike fit, nutrition testing
Weekly TSS: 400-550 | Hours: 7-9
Key Sessions: Sweet Spot 3x12 min, Long rides 3.75-4.5h, Tempo 2x20 min, Easy runs 40-50 min
FTP Test: 23 Feb 2026
BUILD 1 (4 weeks)
24 Mar - 20 Apr 2026
Focus: Threshold power, climbing strength, increased intensity
Weekly TSS: 550-650 | Hours: 9-11
Key Sessions: Threshold 4x8 min @ 95-105% FTP, Over-Unders, Long rides 4.5-5h, Tempo runs 50 min
FTP Test: 20 Apr 2026
BUILD 2 (4 weeks)
21 Apr - 18 May 2026
Focus: VO2 Max development, peak power, advanced climbing
Weekly TSS: 650-750 | Hours: 10-12
Key Sessions: VO2 Max 6x4 min @ 115-120% FTP, Sweet Spot, Long rides 5-5.5h, Hill repeats running
PEAK PHASE (4 weeks)
19 May - 15 Jun 2026
Focus: Maximum training load, highest volume, endurance peak
Weekly TSS: 750-850 | Hours: 12-14
Key Sessions: Long rides 5.5-6h, Mixed intervals, Back-to-back weekend rides, Tempo runs
FTP Test: 15 Jun 2026
SPECIALIZATION (4 weeks)
16 Jun - 13 Jul 2026
Focus: Race-specific efforts, sustained Z3, extended endurance
Weekly TSS: 700-800 | Hours: 11-13
Key Sessions: Long rides 6-7h @ race pace, Sustained Z3 efforts 60-90 min, Gravel-specific skills
RACE-SPECIFIC (3 weeks)
14 Jul - 3 Aug 2026
Focus: Race simulation, pacing practice, final preparation
Weekly TSS: 650-750 | Hours: 10-12
Key Sessions: 8h race simulation ride (week 1), Race pace blocks 3-4h, Final nutrition testing
TAPER (2 weeks)
4 Aug - 9 Aug 2026
Focus: Recovery, sharpness maintenance, race readiness
Weekly TSS: 400 β†’ 200 | Hours: 6 β†’ 3
Key Sessions: Week 1: Short intervals to maintain sharpness, 2h ride | Week 2: Easy spins only, 60-90 min max
RACE DAY: Saturday, 9 August 2026
Long Ride Progression (Saturday Key Sessions)
Training Compliance Assessment

Strengths

  • Excellent volume progression: Intensity minutes climbed from 61 (early Jan) to 350 (week of Feb 9). Base building on track β€” new week just started.
  • Outstanding cardiovascular fitness: Resting HR 41-45 bpm (7-day avg) is elite level for age 50. Your heart is strong.
  • Fitness age 44.2 years: 5.8 years younger than chronological age. Your training is working.
  • Long ride discipline: Recent 90km (4:45) and 67.6km (3:45) rides show you can handle endurance volume.
  • PRODUCTIVE training status: Garmin confirms fitness is improving with current load.
  • Endurance score 5898: Just 202 points from WELL_TRAINED status. On track for race readiness.
  • Power zones established: Clear FTP 240W provides solid training targets.

Areas for Improvement

  • Sleep now excellent: 91/100 last night (9.9h). Keep this up β€” sleep is when adaptation happens. 21:00-05:00 window working well.
  • ACWR optimal (0.85): Load ratio in the sweet spot. Keep progressive overload within 10%/week guideline.
  • Body composition improving: 22.2% body fat β€” nearly at <22% target! Weight 79.2kg in target zone (78-80kg). Stay the course.
  • FTP needs 15W gain: Current 240W β†’ target 255W for optimal race pace. FTP test 23 Feb will benchmark progress.
  • Running consistency needed: Today's 4.5km run was good. Maintain 1 run/week to build durability and leg resilience.
  • Intensity minutes building: 30 min so far this week (2 sessions). Stay on plan for 300+ target this week.
Key Recommendations (Next 4 Weeks)
  • Sleep hygiene non-negotiable: Screen off by 20:30, room temp 18-20Β°C, no caffeine after 14:00. Track sleep score dailyβ€”target 70+.
  • FTP test scheduled 23 Feb: This week's training will prepare you. Expected result: 245-250W if nutrition and recovery are optimal.
  • Nutrition during long rides: Practice race nutrition every Saturday ride. 60-80g carbs/hour, 750ml fluid/hour. Test gels, bars, real food.
  • Weight management: Current 79.2kg is IN target zone (78-80kg)! Maintain with quality nutrition. Don't restrict during heavy training weeks.
  • Run frequency increase: Add second easy run per week (Tuesday + one other day). 30-40 min easy Z2. Builds durability.
  • Recovery rides matter: Don't skip or upgrade recovery rides to Z3. True Z1-Z2 (0-173W) promotes adaptation without adding fatigue.
  • Body battery awareness: Don't train if body battery <30 or readiness <40. Today is perfect exampleβ€”rest was correct choice.
  • HRV tracking: Baseline 43-61ms. If below 43ms on wakeup, consider making hard session easier or moving it.
  • Bike fit check: Before Build 1 phase (24 Mar), get professional fit. Long rides will expose any position issues early.
  • Skills practice: Use Wed/Thu outdoor rides to practice gravel descending, cornering, technical sections at race pace.
Risk Factors & Mitigation

βœ… Low Risk: Sleep & Recovery

Sleep consistently excellent (91/100 last night, 9.9h). HRV 64ms above baseline. Body battery fully recharged to 100. RHR 40bpm. Keep it up: Maintain 21:00 bedtime. This recovery quality is driving all your gains.

Medium Risk: FTP Test Preparation

FTP test on 23 Feb (Sunday). This week's sessions are building toward it. Thu Tempo 2Γ—20min is the key quality session. Action: Nail Thursday's tempo, take Friday rest seriously, Saturday long ride at Z2 only. Fresh legs for Sunday test.

Weekly Action Items (Mon 16 – Sat 21 Feb)
  1. Sleep: 21:00 bedtime every night. Track sleep score. Target: 7+ hours, score 75+
  2. Nutrition: Practice race nutrition on Sat long ride. Log what you eat/drink and how you feel at each hour.
  3. FTP test prep: Mon/Wed/Thu quality sessions set you up for 23 Feb test. Nail the prescribed power targets.
  4. Recovery: Sunday is optionalβ€”only ride if body battery >60 and sleep was 7+ hours. Otherwise rest.
  5. Weight: Weigh daily (same time, post-bathroom, pre-breakfast). Track trend, not daily fluctuations.
  6. HRV: Check HRV each morning. If <43ms, adjust intensity for the day (keep duration, reduce power/HR).
  7. Hydration: 3+ liters daily. Urine should be pale yellow. Track hydration in Garmin app.
Nutrition & Recovery Tips for Base Building Phase

Nutrition Guidelines

  • Daily calories: 2800-3200 on training days, 2400-2600 on rest days (for small deficit)
  • Macros: 50% carbs, 25% protein, 25% fat. Protein 1.6-2.0g/kg bodyweight (130-160g/day)
  • Ride fueling: <60 min: water only | 60-90 min: 30-40g carbs/hour | 90+ min: 60-80g carbs/hour
  • Recovery window: 30g protein + 60g carbs within 30 min post-ride (chocolate milk works!)
  • Pre-ride: 2-3h before: normal meal | 30-60 min before: 30-50g easily digestible carbs
  • Caffeine: 3-5mg/kg (240-400mg) pre-ride improves performance. Cut-off 14:00 for sleep.

Recovery Protocols

  • Sleep: 8h non-negotiable. Adaptation happens during deep sleep (REM + deep phases).
  • Post-ride routine: 10 min easy spin β†’ fuel β†’ shower β†’ stretching β†’ compression socks 2h
  • Active recovery: 20-30 min walk on rest days improves blood flow without adding training stress
  • Foam rolling: 10 min daily focusing on quads, IT band, glutes, calves. Pre-bed is ideal timing.
  • Massage: Monthly sports massage during base phase, bi-weekly during build phases
  • HRV optimization: Consistent sleep/wake times, limit alcohol, manage stress, stay hydrated
Coach's Final Word
Frans, you nailed the Sweet Spot session today. Readiness dropped from 78 to 59 post-ride β€” that's the training stimulus doing its job. Body battery drained from 98 to 40, but sleep was excellent (96/100, 8.0h) so recovery capacity is strong. HRV holding at 54ms (BALANCED) confirms your body is handling the load well.

Your progression from 61 intensity minutes in early January to 350 last week shows disciplined base building. ACWR at 0.85 β€” optimal zone. Weight 79.2kg (in target zone!) with body fat 22.2% (nearly at <22% goal). Fitness age 44.2y, RHR 40bpm, HRV 64ms (above baseline). The aerobic engine is building nicely and body composition is responding.

This week is FTP test prep week. Sweet Spot done βœ“. Wednesday's endurance ride builds volume. Thursday's tempo sharpens threshold. Rest Friday, long ride Saturday, and next Monday 23 Feb is your FTP test. I'm expecting 245-250W if you nail sleep and nutrition all week.

The formula is simple: train hard on training days, rest fully on rest days, sleep 8 hours every night. Last night's 96-score sleep was the blueprint β€” keep that up.

Your weekly fitness summary. Stay consistent, stay strong.

πŸ”— Data Sources & Cross-Validation

πŸ“…
Intervals.icu
Workout push β†’ ROUVY
● Connected
Athlete: i510567
Purpose: Push workouts β†’ ROUVY
This week: 6 events pushed βœ“
Access: REST API (API Key)
Pipeline: Claude β†’ Intervals.icu β†’ ROUVY
⌚
Garmin Connect
Primary data source
● Connected
Device: EPIX Pro + Edge 530
Last sync: β€”
Data: Health, Activities, Training Load
Access: MCP Server (Live)
πŸƒ
Strava
Activity validation
● Connected
Athlete: Frans Vermaak (ID: 18014938)
Purpose: Cross-validate activities
Validates: Distance, Time, Power, HR
Access: OAuth API (read_all, activity:read_all)
Last sync: 16 Feb 2026
Activities: 10 recent loaded β€” 5/6 matched βœ“, 1 missing ⚠
πŸ“Š
Coros Training Hub
EvoLab analytics
● Setup Required
Purpose: EvoLab metrics & validation
Unique data: Base Fitness, Fatigue, Recovery Timer
Access: MCP Server (Needs Login)
Setup: Coros MCP installed at C:\GitHub\corus-mcp. Login via browser auth on first use.
πŸ“‹ Cross-Validation Matrix β€” Last 7 Activities

Compares Garmin data with Strava to detect GPS drift, power discrepancies, or sync errors. βœ“ Match = within 2% | ⚠ Drift = 2-5% | βœ— Mismatch = >5% | Last updated: 18 Feb 2026 12:00 SAST

Activity Date Distance Time Avg HR Avg Power Status
ROUVY - Z2 Endurance
Virtual Ride
Feb 18 πŸ†• 16.15 / 16.15
0.00%
1:11:18 / 1:11:12
0.1%
126 / 126
0.0%
β€”
Z2 (no power)
βœ“ Match
Centurion Run
Running
Feb 17 4.53 km
Garmin only
29:39 148 bpm β€” β€” Not synced
Run only on Garmin
ROUVY - Sweet Spot
Virtual Ride
Feb 16 15.77 / 15.76
0.02%
58:49 / 58:46
0.1%
139 / 139
0.0%
176W
NP 185W
βœ“ Match
Centurion Gravel
Gravel Cycling
Feb 14 90.0 km
Not on Strava
4:44:50 139 bpm β€” ⚠ Missing
Sync failed?
Morning Run
Running
Feb 11 5.16 / 5.16
0.00%
32:44 / 32:36
0.4%
149 / 149
0.0%
293W
Running Power
βœ“ Match
Morning Gravel Ride
Gravel Cycling
Feb 10 23.21 / 23.21
0.00%
1:24:18 / 1:24:46
0.6%
104 / 104
0.0%
109W
NP 136W
βœ“ Match
ROUVY - VELO ENDURANCE
Virtual Ride
Feb 9 23.71 / 23.70
0.01%
1:06:00 / 1:06:04
0.1%
130 / 131
0.8%
158W
NP 162W
βœ“ Match
βœ… Strava connected! Showing Garmin / Strava comparison. 5 of 7 activities matched within 1% β€” excellent data integrity. 1 run not synced to Strava (Garmin-only). ⚠ Centurion Gravel (Feb 14, 90km) missing from Strava β€” check if Garminβ†’Strava sync failed. Last updated: 18 Feb 2026 12:00 SAST.
πŸ”„ Data Pipeline Architecture
DATA IN (Health & Activities)
⌚
Garmin
EPIX + Edge 530
β†’
πŸ€–
Claude + MCP
Garmin Β· Strava Β· Intervals.icu
β†’
πŸ“Š
Dashboard
This page
WORKOUTS OUT (Training Plans)
πŸ€–
Claude
Generates workouts
β†’
πŸ“…
Intervals.icu
API Push
β†’
🚴
ROUVY
Workout of the Day
βœ“ Health metrics from Garmin
βœ“ Activity validation from Strava
βœ“ Workouts pushed to Intervals.icu β†’ ROUVY
⏳ EvoLab analytics from Coros
βš™οΈ Local Refresh Server
Checking server...
URL: http://localhost:8099
Start: Double-click scripts\start_server.bat
Purpose: Serves fresh garmin_live.json data to the dashboard refresh button
Without the server, the refresh button uses the last embedded data snapshot (updated by Claude).
LATEST BP: --/-- -- bpm No data
Blood Pressure Trend
Systolic
Diastolic
Pulse
AHA Blood Pressure Categories
Normal Systolic <120 AND Diastolic <80
Elevated Systolic 120-129 AND Diastolic <80
Stage 1 Systolic 130-139 OR Diastolic 80-89
Stage 2 Systolic ≥140 OR Diastolic ≥90
Crisis Systolic >180 AND/OR Diastolic >120
BP Statistics
Avg Systolic
--
Avg Diastolic
--
Avg Pulse
--
Total Readings
0
All Readings
Date / Time Systolic Diastolic Pulse Category

Record Blood Pressure