Get your running sessions analyzed by an AI

Your watch files are too big for ChatGPT, Gemini or Claude. This tool turns them into a structured training file (paces, laps, zones, reps, cardiac drift) that the AI can actually analyze.

Your files never leave your browser. All computation happens on your device, and you can check it in the Network tab. A GPS track reveals your address to the meter, so the start and finish are trimmed by default. What leaves, and what never does.

1

Drop your files

As many as you like, in TCX, GPX or FIT, exported from your watch or from Strava.

2

Enter your benchmarks

Max heart rate and latest race time. Without them, zones and projections stay approximate.

3

Read the warnings

Sensor changes and unreliable heart rate determine whether the rest holds up.

4

Get your file

A complete, annotated text file to drop into ChatGPT, Gemini or Claude.

Why use this tool?

A one-hour TCX file recorded at 1 Hz weighs about 1.7 MB, nearly 90% of it XML tags. That is roughly 533,000 tokens. Even when that fits in the context window, the model reasons poorly: it is asked for a training analysis from thousands of lines of raw coordinates.

The file produced here is a few tens of thousands of tokens and contains objects a model knows how to read: per-kilometer splits, laps, time in zones, reps one by one, best efforts, projections. The analysis is better than with the full file, not just cheaper.

What the tool computes on its own

AnalysisWhat it answers
Heart rate source Chest strap or wrist sensor? The file almost never says. The tool infers it from the signal, especially from cadence lock, when the watch mistakes your strides for heartbeats.
Cardiac drift Does your efficiency drop in the second half of the effort? Above 5%, base endurance is the issue. The tool refuses to compute drift on interval sessions, where the number would be meaningless.
Interval execution Are your reps consistent? Does your pace fade? Does heart rate climb while pace holds, a sign of fatigue before the legs give out?
Race projections 5K, 10K, half marathon, marathon, with a range and a reliability level. A race result counts more than a training effort, and its weight fades with age.
Hardware change Across several sessions, the tool detects and dates a heart rate sensor change, which would otherwise silently invalidate every heart rate comparison.

Why an AI needs a structured file rather than a raw one: read the article.

1. Your benchmarks

Optional, but without these values zones are estimated from the maximum heart rate observed in the files, which is approximate.

Sends the midpoint of the route, rounded to ~1 km, and the date to Open-Meteo. Never your start point, never your data.

2. Your files

Drop your files here

TCX, GPX or FIT, as many as you like, a whole season if needed

FIT is your watch's native format: it is the only one that carries pool lengths and the heart rate sensor that was actually paired.

Frequently asked questions

Why is my TCX file too big for Gemini or ChatGPT?

A one-hour TCX at 1 Hz weighs about 1.7 MB, nearly 90% of it XML tags, which is roughly 533,000 tokens. Even when that fits in the context window, the model reasons poorly over thousands of lines of raw coordinates.

Are my files sent to a server?

No. All computation runs in your browser, and you can check it in the Network tab. A GPS track contains your home address to the meter in its first and last points: the tool trims them by default.

How does the tool guess whether I wore a chest strap?

The most telling marker is cadence lock: an optical sensor mistakes your stride rate for your pulse and shows, for example, 172 bpm instead of 140. A chest strap measures an electrical signal and cannot make that error. Other clues add up: the length of plateaus of identical values, beat-to-beat granularity and how fast heart rate responds to pace changes. It is a heuristic: its confidence is capped, and shown.

Why is drift not computed for some sessions?

Because it would mean nothing there. Drift compares efficiency between the two halves of a continuous effort. In an interval session, the speed to heart rate ratio swings between reps and recoveries: the number would be an artifact. The tool would rather say it does not measure than produce a misleading figure.

Is the temperature shown the air temperature?

No. The sensor sits on the wrist and is warmed by the body: it usually reads 3 to 8 °C too high. The value is shown but always with this warning, including in the file sent to the AI.

How reliable is a marathon projection?

Low, and it should be said. A study of 2,303 recreational runners showed that the Riegel formula is well calibrated up to the half marathon but gives marathon predictions at least ten minutes too fast for half of runners. A model based on real race results roughly halves the error.

Which formats are supported?

TCX, GPX and FIT. Prefer FIT: it is the native format of most Garmin, Coros, Wahoo and Suunto watches, and the only one that carries pool lengths one by one along with the list of paired hardware. That is how the tool can know for certain, rather than estimate, whether you wore a heart rate strap. Garmin Connect's TCX export squashes all the lengths of a swim session into a single line.

The pace shown does not match Garmin Connect

It is a difference of convention, not an error. Pace here is computed on moving time, as Strava does: stops at traffic lights and pauses are excluded. Garmin Connect divides by total duration and therefore shows a slower pace. On a 16 km city run, the gap easily reaches fifteen seconds per kilometer. Both durations are shown side by side so the difference is visible, and the file sent to the AI states which convention is used. Otherwise a model would compare numbers that are not comparable.

Elevation does not match either

If you drop a FIT file, the tool uses the elevation gain measured by your watch's barometric altimeter. In TCX or GPX that information does not exist: it is recomputed from GPS altitude, which usually underestimates it by 30 to 50%. On a real 16 km run, 61 meters computed versus 140 measured. It is one more reason to prefer FIT.

The detected sport is wrong, why?

The tool does not trust the label in the file, because it is often wrong: a strength session with a few running segments is labeled "running", and a pool session is labeled "other". Classification is therefore based on the shape of the data. Each session gets a tier: full analysis for running and cycling, dedicated handling for swimming, and load counting only for everything else. A strength session still weighs on recovery even if its pace means nothing.

What these calculations rely on

Each metric builds on published work. Here is which, and what each one does not say.

  1. Grade-adjusted pace. Minetti AE, et al. Energy cost of walking and running at extreme uphill and downhill slopes. J Appl Physiol. 2002;93(3):1039–46. doi · PubMed. Established on a treadmill: accounts neither for technical terrain nor for muscle damage on long descents.
  2. Gap between heart rate sensors. Gillinov S, et al. Med Sci Sports Exerc. 2017;49(8):1697–703. · Pasadyn SR, et al. Cardiovasc Diagn Ther. 2019;9(4):379–85. doi. These studies measure the error of optical sensors; they offer no method to identify one from the file alone. Our detection is derived from them: it is not a validated protocol.
  3. Race time projection. Riegel PS. Athletic records and human endurance. American Scientist. 1981;69(3):285–90. Calibrated on world records, on flat roads.
  4. Correction for recreational runners. Vickers AJ, Vertosick EA. An empirical study of race times in recreational endurance runners. BMC Sports Sci Med Rehabil. 2016;8:26. doi. The direct reason why a race result weighs more than a training effort.
  5. Critical speed. Jones AM, et al. Critical power: implications for determination of V̇O₂max and exercise tolerance. Med Sci Sports Exerc. 2010;42(10):1876–90. doi. The model assumes critical speed can be held indefinitely, which is false beyond about 90 minutes.
  6. Normalized power, TSS, Pa:Hr drift. Widely adopted training methodologies (Coggan, Friel), but not peer-reviewed papers. The distinction matters.

What these references do not guarantee They ground the formulas, not the conclusions. A number computed correctly from a faulty sensor is still wrong. If you are in pain, or before changing a training plan, a professional's advice outweighs this tool, and the AI you send its results to.