Dashboard Uitleg

Hoe je trainingsdata wordt berekend en bijgewerkt

📊 Quick Stats

Herstel (Recovery Time)

Geschatte hersteltijd op basis van je laatste activiteit en lichaamsconditie.

  • Groen: <5 uur - je bent goed hersteld
  • Grijs: 5-24 uur - normale herstelfase
  • Rood: >24 uur - je hebt extra rust nodig

Total TSS (7 dagen)

Training Stress Score volgens de TrainingPeaks methode, opgeteld over de afgelopen 7 dagen.

TSS = uren × (gemiddelde HR / drempel HR)² × 100

Drempel HR = 150 bpm

Voor activiteiten met zone-data wordt een gewogen Intensity Factor berekend op basis van de tijd in elke zone.

Zone 2 Tijd (7 dagen)

Totale tijd doorgebracht in Zone 1 + Zone 2 als percentage van je totale trainingstijd.

  • Zone 1: ≤112 bpm (herstelzone)
  • Zone 2: 113-131 bpm (aerobe zone)

Dit is je "low intensity training" - belangrijk voor het opbouwen van je aerobe basis.

Compliance

Het percentage van je trainingstijd dat je in Zone 1 + Zone 2 hebt doorgebracht (afgelopen 7 dagen).

  • Groen: ≥80% - uitstekende zone 2 compliance
  • Grijs: 50-79% - gemiddelde compliance
  • Rood: <50% - te weinig lage-intensiteit training

Voor optimale aerobe ontwikkeling wordt aanbevolen om 80% of meer van je trainingstijd in zone 1-2 door te brengen.

🏃 Laatste Zone 2 Training

Details van je meest recente activiteit, inclusief:

  • Datum en type: Wanneer en wat je hebt getraind
  • Afstand en duur: Hoeveel km en minuten
  • Gemiddelde hartslag: Je gemiddelde HR tijdens de activiteit
  • TSS: Training Stress Score van deze sessie
  • Zone verdeling: Tijd doorgebracht in elke hartslagzone (1-5)

Hartslagzones:

  • Zone 1: ≤112 bpm (herstel)
  • Zone 2: 113-131 bpm (aerobe basis)
  • Zone 3: 132-149 bpm (tempo)
  • Zone 4: 150-168 bpm (drempel)
  • Zone 5: >168 bpm (VO₂ max)

Zone verdeling berekening:

Als Garmin zone-data beschikbaar is voor >50% van de activiteit, worden de exacte zone-tijden gebruikt. Anders wordt een schatting gemaakt op basis van de gemiddelde hartslag van de activiteit.

💪 Gezondheid Overzicht

Stappen

Aantal stappen vandaag en gisteren, gesynchroniseerd vanuit Garmin Connect.

Sleep Score

Slaapkwaliteit score (0-100) van vandaag en gisteren, gebaseerd op Garmin slaapanalyse.

VO₂ max

Actuele VO₂ max waarde - een maat voor je cardiovasculaire fitheid.

🔄 Dagelijkse Synchronisatie

Automatisch Update Proces

Je dashboard wordt elke dag automatisch bijgewerkt volgens het volgende schema:

1️⃣ Data Ophalen (via Garmin Connect API)

  • Activiteiten van de afgelopen 8 dagen
  • Stappen (vandaag en gisteren)
  • Rustende hartslag (vandaag en gisteren)
  • Slaapdata en sleep score
  • Gedetailleerde activiteitsdata (inclusief zone-tijden)

2️⃣ Berekeningen

  • TSS per activiteit (TrainingPeaks formule)
  • Zone verdeling (Garmin zones of HR-based fallback)
  • Totaal TSS over 7 dagen
  • Zone 2 tijd percentage (Zone 1 + 2)
  • Compliance percentage

3️⃣ Database Opslag

Alle data wordt opgeslagen in een Neon PostgreSQL database met twee hoofdtabellen:

  • activities: Training details, TSS, zone-tijden
  • daily_stats: Stappen, hartslag, slaap

4️⃣ Dashboard Weergave

Het dashboard haalt de laatste 7 dagen aan data op en berekent alle metrics real-time:

  • Quick Stats met kleurcodering
  • Laatste activiteit details
  • Recente activiteiten overzicht
  • Gezondheidsmetrics (vandaag vs gisteren)

💡 Handmatige Sync

Je kunt ook handmatig synchroniseren door op de "Sync Now" knop te klikken op het dashboard. Dit is handig als je net een activiteit hebt voltooid en de data direct wilt zien.

⚙️ Technische Details

Platform

Next.js 16 met React Server Components, Turbopack, en TypeScript

Database

Neon PostgreSQL (serverless Postgres)

API Integratie

garmin-connect library (v1.6.2) voor communicatie met Garmin Connect

Styling

Tailwind CSS met dark theme en responsive design

7-Dagen Focus

Alle metrics zijn gebaseerd op een 7-daags rollend venster voor optimale tracking van wekelijkse trainingsbelasting.

Dashboard versie 1.0 - Januari 2025