stack-fitness — Trainings- & Health-Cockpit mit KI-Coach
Rennrad-Training, datengestützt: Dashboard + aggregierende API rund um intervals.icu. Form-Modell (CTL/ATL/TSB), Power-Analyse, strukturierte Workouts auf den Garmin Edge und ein Coaching-Layer für den 3motibot-Assistenten.
In aktiver Entwicklung. Persönliches Eigenprojekt, das Trainings-Daten zu Klarheit verdichtet — und als Spielfeld für datengestütztes KI-Coaching dient.
Worum geht es?
intervals.icu ist eine hervorragende Trainings-Analyse-Plattform — aber die tägliche Bedienung über ihre Web-Oberfläche wollte ich durch ein eigenes, fokussiertes Cockpit ersetzen, das genau meine Fragen beantwortet: Wie ist meine Form heute? Bin ich erholt? Was sollte ich trainieren?
stack-fitness ist dieses Cockpit. Wichtig: Es baut kein eigenes Fitness-Modell nach. intervals.icu bleibt der Motor — Source-of-Truth für CTL/ATL/TSB und Garmin-Sync-Hub —, stack-fitness ist die UI und die Orchestrierung darum herum. Dazu kommt eine aggregierende API, die meinem KI-Assistenten 3motibot in einem einzigen Call alles liefert, was er für Coaching-Entscheidungen braucht — statt vieler einzelner Datenabfragen.
Drei Dinge, die stack-fitness ausmachen
Form auf einen Blick Das Briefing zeigt die drei Kennzahlen, die zählen: Form (TSB) als Ampel, HRV-Erholungsstatus und Schlaf — plus automatische Coach-Hinweise (z. B. „FTP veraltet” oder „Ramp-Rate zu hoch”). Darunter das vollständige Performance-Management-Chart und die Power-Kurven jeder Fahrt.
Strukturierte Workouts auf den Garmin Edge Aus einer Template-Bibliothek (Coggan-Zonen: GA1, Sweet-Spot, Schwelle, VO2max, Over-Unders, FTP-Test …) wird eine konkrete Einheit gebaut, als intervals.icu-DSL geschrieben und automatisch auf den Garmin Edge 1030 gesynct — das Gerät führt dann durch die Intervalle.
Ein Coaching-Layer für die KI Die /coach/workout-context-API verdichtet die gesamte Trainingshistorie zu einem winzigen JSON: drei Form-Zahlen, die letzten Einheiten im Detail, Wochen-Last, All-Time-Power-PRs, Fueling-Targets und faktische Coaching-Flags. Der 3motibot-Assistent nutzt das, um Empfehlungen zu geben — geerdet in echten Daten, nicht in Vermutungen.
Einblicke ins Dashboard




Technik
- Monorepo — pnpm-Workspaces + Turborepo, durchgängig TypeScript, geteilte Zod-Schemas zwischen API, Web und 3motibot (kein Schema-Drift)
- API (BFF) — Hono +
@hono/zod-openapi, Drizzle ORM auf PostgreSQL 16, Redis-Cache; aggregiert und normalisiert intervals.icu auf ein stabiles Schema - Durabler Daten-Mirror — PG-Rollup der PMC-Tageswerte + Fahrt-Summaries; der Coach-Context liest aus dem Mirror statt live → ~1–3 KB JSON, token-effizient
- Web — SvelteKit (Svelte 5 Runes) + Tailwind, ECharts für Management-Charts, uPlot für 1 Hz-Power-/HF-Streams; installierbar als PWA (Offline-App-Shell)
- Deployment — Docker Compose (PG + Redis,
127.0.0.1-gebunden) hinter nginx auf einem Hetzner-Server (DE), TLS via Let’s Encrypt - Sicherheit — Dashboard owner-only über WireGuard; die API owner-geklammert mit Bearer-Token; keine personenbezogenen Daten Dritter
Status
Live und in aktiver Entwicklung unter fitness.stackschmiede.de — das Dashboard ist bewusst owner-only (über WireGuard erreichbar), die API versorgt den 3motibot-Coach. Gebaut sind Form-/PMC-/Ride-Analyse, Profil und Nutrition, strukturierte Workouts mit Garmin-Sync sowie der Coaching-Context mit FTP-Schätzung, Coaching-Flags und Polarisierungs-Analyse.
Nächster großer Schritt: ein Kalender-/Scheduling-View, der intervals.icu auch beim Workout-Management als primäre Oberfläche ablöst — wetter- und kalenderbewusste Planung über den 3motibot-Assistenten.
Ergebnisse
- Form-Cockpit: CTL/ATL/TSB-Ampel, HRV, Schlaf und Coach-Hinweise auf einen Blick
- Performance-Management-Chart (PMC) und Power-Streams aus echten Ride-Daten
- Strukturierte Workouts (Coggan-Templates) → intervals.icu → Garmin Edge 1030
- Coach-Context-API: ein winziges JSON mit Form, Last, Power-PRs und Fueling für den 3motibot-Coach
- Coaching-Intelligenz: FTP-Schätzung, Ramp-Rate-/Übermüdungs-Flags, Polarisierungs-Check
- Sport-Ernährung: Logging, Fueling-Targets (Carbs/h, g/kg) und Energiebilanz
- Installierbar als PWA, owner-only über WireGuard abgesichert
Datengestütztes Dashboard für Ihre Domäne?
Ob Sport, Gesundheit, Industrie oder interne Kennzahlen — ich baue aggregierende APIs und klare Dashboards, die verstreute Datenquellen zu Entscheidungen verdichten, inklusive optionalem KI-Coaching-Layer. EU-Hosting, ohne Cloud-Zwang.
Projekt besprechen