Auto-adjusting training plan from WHOOP data, running in Claude
hi folks,
I've posted a few data breakdowns here over the years. This one is less of a breakdown and more of a setup: I've got a race on Sunday, and this is what's been deciding my sessions in the run-up.
Last week I didn't do a single one of the workouts I had planned, which sounds worse than it is. Tuesday was 34 degrees so I swam instead, and Saturday's long run was meant to be an hour and a half but I only had an hour, so I ran it harder.
Both were the right call at the time. The problem is that neither of them made it back into the plan, and if you keep doing that for a month you've properly lost track of what you've actually been training.
So there's a check that runs every morning now, and it goes off what I actually did. It picks up the swim sitting where a run should have been, notices the long run came in short and fast, and works today's session out from there.
It's a Claude project holding my plan, with a scheduled task each morning. It pulls yesterday's workouts with type, duration and Strain, this morning's Recovery including HRV and resting heart rate, and last night's sleep against what WHOOP reckoned I needed. Then it looks at today's planned session and commits to one call: it holds, or it changes and the reason goes in the calendar event.
The data comes through freddy, an MCP server I built that connects your health and performance data to whatever AI you already use. Openly my project.
Write-up with the prompts: https://freddy.coach/recipes/adaptive-triathlon-plan
Two things that bit me. Recovery lands in the morning but your workouts land immediately, so tell it to say when it has yesterday's session without yesterday's sleep numbers rather than filling the gap. And never let it compare HRV across sources, WHOOP reports RMSSD while Apple Health reports SDNN, so a chart mixing them looks meaningful while being nonsense. It isn't a coach or a clinician either.
WHOOP, Polar, Garmin, Oura, Suunto, Withings, Wahoo, Ultrahuman and Intervals.icu are supported, with iPhone and Android apps for Apple Health or Health Connect.
I know health data is sensitive and I have handled it for years with fitIQ. Data is encrypted, I do not sell it, and I am not looking to make a profit off your stats, but if you still don't trust 3rd party solutions, just don't use it :)