Garmin → AI v2: your AI coach can now see if you're actually getting fitter
Quick update to the secure Garmin package I shared. v1 gave your AI coach your recovery data — sleep, HRV, resting HR, body battery. That answered, "how ready am I today?"
v2 answers the bigger question: "Is any of this working?"
Note: works with any AI.
What's new:
  • Physiology snapshot — VO2max, Garmin's training status (Productive / Maintaining / Detraining...), your acute:chronic training load ratio, and Garmin's race predictions, refreshed on every sync. This is your objective fitness trend line. I tested it on myself, and Garmin greeted me with "DETRAINING" in capital letters — three weeks post-race, and it shows. The data doesn't flatter you. That's the point.
  • Splits + HR-zone time for every workout. "45 min, avg HR 148" hides everything. Your coach now sees each kilometre and how much time you spent in each zone — so "was my easy run actually easy?" gets a real answer.
  • Menstrual cycle data — if your Garmin account tracks it, your cycle day and phase appear in the daily notes automatically (and if it doesn't, this is completely invisible). Cycle phase measurably affects load tolerance, sleep, and HRV — an AI coach that sees "cycle day 24" next to a low HRV reading gives better advice than one guessing. This one's for the women in the group; tell me if the rendering can be improved; I can't test it on my own account.
What deliberately did NOT make it: golf scorecards, badges, challenges, social features. Only data an endurance coach acts on. There's also a new --light flag if you want the minimal version with fewer API calls.
Does this replace Strava?
No — and on purpose. I did the comparison before building v2.
What stays in Strava, and why:
  • Segments. Your benchmark efforts on known local climbs live there — Garmin has no equivalent, and repeatable benchmarks are how you prove progress on real terrain.
  • Live queries. Strava's API lets an AI tool pull any activity you've ever done, on demand. This script writes files on a schedule — great for a daily coach, not for "analyse my long run from last October."
  • Redundancy. This matters most; see the risk below.
So: Garmin for recovery + physiology (data Strava simply doesn't have), Strava for segments and deep dives. They cost nothing to run side by side.
The risk, stated plainly: Garmin has no public consumer API, so this — like every Garmin-to-anything tool, including the original guide — uses an unofficial login flow via the open-source library. When Garmin changes their login, and they periodically do, the sync stops working until the library updates (pip install -U garminconnect, then --login again).
Nothing is lost when that happens — your files stay, your account is fine — but expect an outage once in a while. That's the other reason to keep Strava connected: it's an official, stable API, and it keeps your AI coach fed while Garmin's door is being re-picked. If an outage ever hits, check the library's GitHub issues first — you won't be the only one.
Security posture unchanged: read-only, local-only, no upload endpoints, password never stored, token never printed, dependencies pinned. The v2 changes went through the same red-team review as v1 before I posted this.
One honest privacy note: everything lands as plain text files on your machine. That now includes cycle data if you track it — so think consciously about whether the output folder lives in a cloud-synced location. The README covers this.
Upgrade = replace sync_garmin.py with the new one. Token, schedule, and folders all keep working. New zip attached.
And feedback is more than welcome!
— Patrick
2
1 comment
Patrick Laake-Bjurquist
2
Garmin → AI v2: your AI coach can now see if you're actually getting fitter
Athlete AI Community
skool.com/athlete-ai-community
For athletes & coaches curious about AI, who want to learn & build their own tools. No code. Come learn, build & connect. Start FREE 7 Day Challenge!
Leaderboard (30-day)
Powered by