Garmin Training Insights
Free open-source Python tool for analyzing your Garmin training data. Estimate FTP, Critical Power, training zones, and get actionable post-workout feedback — no lab tests required.
Download & Get Started
Grab the ZIP for a quick start or clone from GitHub. Requires Python 3.10+, an AI coding agent (Claude Code, OpenAI Codex, etc.), and a Garmin Connect account.
What It Does
Automated Garmin Sync
Automatically download activities, daily health metrics, HRV, and VO2max data from Garmin Connect with 2FA support.
FTP & Critical Power Estimation
Estimate your cycling FTP and running FTP from real workout data — no formal test protocol needed.
Post-Workout Analysis
Get immediate feedback after each workout: zone distribution, cardiac drift, performance vs. baseline, and nutrition tips.
Smart Training Zones
Auto-calculate personalized training zones for cycling, running, and heart rate based on your estimated thresholds.
Multi-Sport Support
Built for triathletes and multi-sport athletes. Handles cycling (indoor/outdoor), running (with Stryd power), and swimming.
Long-Term Trend Tracking
Track HR response trends, cardiac drift improvements, MMP curve progression, and running technique metrics over months.
Supported Data Sources
Garmin Connect (activities, daily metrics, HRV, VO2max), Stryd running power meter (power, ground contact time, vertical oscillation), CORE body temperature sensor, Libre CGM continuous glucose monitor, and TriDot training plans.
Quick Start Guide
Download and unzip the project
Download ZIP above or: git clone https://github.com/iCeWind62/garmin-training-insightsOpen the project in an AI coding agent (Claude Code, Codex, etc.)
claude (in the project directory)Tell the agent to set you up — it handles the rest
"Set me up" — the agent reads CLAUDE.md, installs dependencies, and configures everything automaticallyWho Is This For?
This tool is for data-driven runners, cyclists, and triathletes who want deeper insights from their Garmin data than what Garmin Connect or other platforms provide. If you care about cardiac drift trends, power-based training zones, or understanding why a workout felt hard — this is for you. Basic Python knowledge is helpful but the quick start guide covers everything you need.