Zum Inhalt springen
Zurück zu den Projekten

GesundheitsdatenIn Betrieb

Trainings-Coach auf eigenen Gesundheitsdaten

Ein eigener Server macht Garmin-Daten für Claude lesbar. Der Coach plant Wochen, passt Tage an und sagt auch Nein, wenn die Erholungswerte gegen den Trainingsplan sprechen.

Eigenprojekt, bei mir im täglichen Einsatz.

PythonFastAPIMCPClaudePWATailscale

Schema des Trainings-Coachs: Garmin-Daten fliessen über einen eigenen MCP-Server read-only zu Claude, der in drei Modi Empfehlungen gibt
Read-only als Prinzip: Der Coach liest akute Tageswerte, schreibt aber nie in die Garmin-Daten.

Ausgangslage

Die Sportuhr sammelt alles: HRV, Schlaf, Belastung. Aber die Trainingsentscheidung bleibt beim Menschen, und die nativen Empfehlungen glätten die Werte und kennen weder den Kalender noch das subjektive Befinden. Die Frage dahinter: Was kann ein Coach, der die Rohdaten wirklich liest?

Vorgehen

Ein selbst gebauter MCP-Server gibt Claude Lesezugriff auf die eigenen Garmin-Daten, bewusst read-only. Darauf sitzen ein Dashboard fürs Handy und ein Coach mit drei Modi: Wochenplanung, Tages-Anpassung und Soll-Ist-Feedback. Entschieden wird gegen akute Tageswerte statt gegen geglättete Kurven.

Dazu kommt eine Tagebuch-Ebene: Besondere Termine und das eigene Befinden, etwa Muskelkater, lassen sich eintragen, und der Coach liest sie mit und lässt sie in den Wochenplan einfliessen. Aus den Tagen vor früheren Krankheitstagen wurden zudem Muster in den Gesundheitswerten ausgewertet. Zeichnet sich ein ähnliches Bild ab, kann der Coach frühzeitig vorwarnen. Und Fragen beantwortet er im Dialog, wie ein echter Trainer.

Das Vorwarnen ist Früherkennung auf den eigenen Daten, keine Diagnose. Genauso bewusst ist die Grenze gesetzt: Es gibt keinen Diagnose-Modus. Medizinnahe Fragen leitet der Coach konsequent an Fachpersonen weiter.

Resultat und Beleg

Täglich im Einsatz, inklusive des Moments, der das Konzept bestätigt hat: Der Coach verweigerte eine geplante Einheit wegen roter Erholungswerte, gegen meine eigene Absicht, und lag damit richtig.

Vor dem Produktivbetrieb fand ein adversarialer Review 13 Fehler, davon 4 kritische. 51 automatisierte Tests sichern den Stand ab.