Nano GPT logo
NanoGPT

Private AI

Back to Blog

How to Analyze FIT Workout Files with AI

Jul 17, 2026

The summary in a fitness app tells you how far you went, how long it took, and perhaps your average heart rate or power. The underlying workout file usually contains a much richer record of what happened along the way.

FIT files are commonly produced by sports watches, bike computers, and training apps. Depending on the device and sensors, a file can include timing, distance, speed, pace, heart rate, cadence, power, elevation, laps, temperature, training zones, and other recorded metrics.

NanoGPT can now process FIT files as document attachments. It checks the file, turns the recorded workout into a structured training summary, and gives the selected model enough context to help you examine the session.

This can help you spot patterns and ask better questions about your training. It is not a medical test or a replacement for how the session actually felt.

What AI can help you examine

A good workout analysis goes beyond repeating averages. Useful questions include:

  • Did pace or power stay consistent?
  • Did heart rate rise while pace or power stayed flat?
  • Were later intervals weaker than earlier ones?
  • How complete was the recovery between hard efforts?
  • Did cadence change as fatigue increased?
  • Where did speed drop on climbs or into the wind?
  • Were there unusual gaps, spikes, or zero readings?
  • How different were the laps from one another?

The available answers depend entirely on what the file contains. A run recorded without a heart-rate sensor cannot support heart-rate analysis. A ride without a power meter cannot reveal power trends. AI should identify missing data rather than quietly guessing it.

Give the model the purpose of the workout

The same numbers can mean different things depending on the goal.

A steadily rising heart rate might be important during an easy endurance session, expected during a progressive run, or irrelevant if the sensor was loose. A drop in cycling power could indicate fatigue, a descent, traffic, or a planned recovery interval.

When you upload the file, add a short note covering:

  • The sport and workout type
  • What you intended to do
  • Your main question
  • Relevant conditions such as heat, wind, hills, or stops
  • How the session felt
  • Any sensor problems you noticed

That context helps the model distinguish a useful pattern from a number that merely changed.

A reusable workout-analysis prompt

Analyze the attached FIT workout file.

Workout goal: [easy endurance / intervals / race / recovery / other]
What I intended: [brief plan]
How it felt: [easy, controlled, difficult, unusual effort, sensor issues]

Please:
1. Summarize the session in plain language.
2. Compare the laps or major sections.
3. Examine pace or speed, heart rate, cadence, power, and elevation where available.
4. Point out meaningful changes, unusual readings, and missing data.
5. Separate observations from possible explanations.
6. Suggest questions I should investigate next.

Do not invent metrics that are not in the file, and do not give a medical diagnosis.

That separation matters. “Heart rate rose by 12 beats per minute at similar power” is an observation. Heat, dehydration, fatigue, sensor error, and normal variation are possible explanations that require more context.

Useful prompts for running

For a steady run:

Divide the session into early, middle, and late sections. Compare pace, heart rate, cadence, and elevation. Did effort appear to drift, and could hills or stops explain it?

For intervals:

Identify the hard and recovery sections from the laps and recorded metrics. Compare the repetitions for pace, heart rate, cadence, and recovery. Which intervals were most consistent, and where did performance begin to change?

For a race:

Review the pacing across the race. Show where pace clearly changed, compare the first and second halves, and note whether elevation or heart-rate changes help explain the pattern.

Useful prompts for cycling

For an endurance ride:

Compare power, heart rate, cadence, and speed over the ride. Look for changes at similar power, extended periods of coasting, and sections where terrain appears to explain the result.

For a structured workout:

Compare each work interval and recovery. Use average and maximum power, heart rate, cadence, and lap duration where available. Flag fading efforts, incomplete recoveries, and any readings that look like sensor dropouts.

For a ride with power data:

Explain average power, normalized power, intensity factor, and training stress only if they are present in the file. Relate them to the duration and interval pattern without assuming my fitness level or threshold settings are correct.

Compare more than one workout carefully

Uploading several FIT files can help you compare repeated efforts on the same route, similar workouts, or changes over time.

Ask the model to compare like with like. A faster run in cooler weather on flatter ground is not automatically evidence of improved fitness. Different sensors, zone settings, device software, pauses, and recording intervals can also change the data.

A useful comparison prompt is:

Compare these workouts using only metrics available in all files. Highlight meaningful differences in pace or power, heart rate, cadence, laps, and elevation. Separate likely performance changes from differences that could be explained by route, weather, duration, sensors, or missing data.

Two or three well-matched sessions often produce a more useful comparison than a large collection of unrelated activities.

What NanoGPT extracts from the file

FIT is a binary format, so the model does not simply read it as ordinary text. NanoGPT processes the file on its servers, checks its integrity, and decodes it into a structured summary that can include:

  • One or more sessions, including duration, distance, sport, and timing
  • Heart-rate, speed, pace, cadence, power, and elevation summaries
  • Training zones and any training-load values recorded in the file
  • Lap-by-lap comparisons for the first 50 laps
  • Overall highs, lows, and averages across the recorded data
  • A time-based view of how key metrics changed during the session
  • Extra metrics from third-party sensors or apps, known as developer fields
  • Relevant athlete, sensor, and device metadata

Long activities can contain thousands of individual samples. To keep the analysis manageable, NanoGPT groups dense record streams into up to 600 time-series buckets rather than dumping every raw sample into the conversation. Only the first 50 lap rows are included in detail, and the summary reports how many additional laps were omitted. Unusual extra fields may also be condensed.

This is enough for broad workout analysis, but it is not the same as giving the model every raw data point or a full interactive map. Raw GPS coordinates are not included in the time-series summary the model receives, although the FIT file you upload can still contain your route and other sensitive details.

Check the data before trusting the conclusion

Workout files inherit the limitations of the devices that created them. Common problems include:

  • Optical heart-rate errors
  • Power-meter or cadence dropouts
  • GPS-derived speed and elevation noise
  • Auto-pause changing elapsed and moving time
  • Incorrect heart-rate or power zones
  • Different smoothing and recording settings between devices
  • Missing data from disconnected sensors

If a conclusion depends on one surprising value, inspect that part of the workout in your usual training software and compare it with how the session felt.

Use AI to organize evidence and generate questions, not to turn uncertain sensor data into a confident story.

Treat workout files as sensitive

A FIT file can contain timestamps, location data, device information, physical measurements, training zones, and other details about you and your routine. Even when the analysis only needs pace or power, the original file may reveal much more. The decoded summary omits raw GPS coordinates and several device identifiers, but it can still include personal details recorded in the file—such as age, weight, gender, resting and maximum heart rate, and training zones—and the original file you upload should be treated as sensitive.

Only upload files you are comfortable processing. Remove or avoid sharing unnecessary personal context, and be especially careful with public links or conversations that other people can access.

This is not medical advice

Workout analysis is not medical advice. Do not use an AI interpretation to dismiss chest pain, fainting, unusual shortness of breath, or other concerning symptoms. Speak with an appropriate medical professional when health is the question.

Getting started

Export the activity as a .fit file from your watch, bike computer, or training service. Attach it to a NanoGPT conversation as a document, describe the goal of the workout, and ask a focused question using the prompts above.

Start with one session you understand well. That makes it easier to judge whether the model is reading the workout sensibly before using it for comparisons or more important decisions.

Open a NanoGPT conversation and attach a FIT workout file to begin.

Milan de Reede

Milan de Reede

CEO & Co-Founder

milan@nano-gpt.com
Back to Blog