No run data. No fitness test. No code. Connect your favourite LLM to the jitm.ai MCP, point it at your Garmin export, and ask it to build you a model. Lands within roughly thirty seconds.

Modern fitness watches collect dozens of signals every day. Steps. Sleep stages. Resting heart rate. Heart rate variability. Floors climbed. Garmin uses some of these to compute a race-time estimate, but it leans heavily on your running history. If you don't run, you don't get a number.
We wanted to see if a model could close that gap. Could it look at the everyday lifestyle signals, the ones every wearable collects, run or no run, and produce a credible race-time estimate? We took fourteen years of one runner's Garmin export, kept only the daily lifestyle metrics, and asked jitm.ai to find the relationship.
The top signals it leaned on are the ones a coach would name: basal metabolic rate, resting heart rate, heart rate variability. Real physiology, not data archaeology.
And because the model is yours, you can schedule it. Wire a Claude Code agent to pull yesterday's metrics every morning, call your model, and append the prediction to a log. Over weeks, the line moves. You can finally see, in seconds, whether your sleep choices, your stress, your travel, are nudging your fitness up or down. Your data, your model, your trend line.


Request a full export from Garmin's data management page. An email arrives in a few hours with a zip file. Unzip it anywhere on your computer.
Add the JITM MCP server (https://mcp.jitm.ai) to Claude, Cursor, Claude Code, or ChatGPT. The LLM does an OAuth handshake with your jitm.ai account, no API keys to copy around. Then just talk to it.
~/Downloads/garmin. Build me the 5K predictor from the jitm-examples recipe.Ask the LLM: “Schedule a daily run that pulls yesterday's Garmin metrics and predicts my 5K, then append it to a log.” The LLM will use the daily_refresh.py script bundled with the recipe. Schedule it via Claude Code's /schedule, a cron job, or a routine in your preferred runtime. Every morning you get a fresh prediction. Over weeks, the line moves.
raceTime5K) was originally shaped by your historical running activities. That's what calibrated the model. From this point onwards, every prediction rests purely on your underlying health metrics: sleep, resting heart rate, HRV, daily activity. Once trained, you don't need to run to get a forecast. The lifestyle physiology does the work.garminconnect is an unofficial library. For production use, point at Garmin's published Health API instead.Bring a CSV. Health, finance, ops, anything with a column you want to predict. The platform handles the engineering. The recipe shows you the rest.