As the video plays, the pace, heart rate, elevation and route alongside it change in real time.
At first glance, these numbers look like a few simple graphics.
Once we started building them, we discovered that the problem was much more complicated than “putting a few numbers on a video.”
Sports devices record data, while DaVinci Resolve works with a timeline.
Making the two line up accurately is the real problem the product needs to solve.
It all starts with a FIT file
When sports devices from Garmin, COROS and others record an activity, they usually store a large amount of structured workout data.
FIT is one of the key formats used for this.
A FIT file may contain:
- Time
- GPS coordinates
- Heart rate
- Speed
- Distance
- Cadence
- Power
- Elevation
- Laps
- Device information
It can also contain a wealth of data specific to the activity type.
There is a lot of information in it.
But video creators cannot use this data directly yet.
The video software does not know:
Which video frame a particular FIT data point belongs to.
That is where the whole problem begins.
Two completely different timelines
A sports watch and a camera are two independent devices.
The watch might start recording at 06:31:18.
The camera might not start filming until several minutes later.
Along the way, you might pause recording, restart the camera, switch shots or even use several different devices at once.
This leaves us with two completely different timelines:
The workout data timeline
and
The video timeline
The workout data only becomes meaningful when these two timelines are aligned.
Suppose a frame in the video corresponds to second 1,427 of the activity recording. The heart rate, pace, position and elevation displayed at that moment must all come from data around that point in time.
Sometimes, a difference of just a few seconds is enough to make the result look noticeably wrong.
Especially during fast running, cycling, climbing or racing.
The data is not continuous
Another issue is that a FIT file is not a video.
Video might run at 30fps or 60fps, with dozens of frames every second.
A sports device may sample data at an entirely different frequency.
So we cannot simply assume:
“One video frame corresponds to one FIT data point.”
We first need to parse the FIT records into a time series of workout data. Then, based on the current position in the video, we find the state that should be shown at that moment.
This brings up many practical questions:
What if data is missing?
What if the GPS briefly drifts?
What if speed suddenly jumps?
How should we transition between two data points?
How should the timeline handle a pause in the activity?
These details determine whether the overlay is merely “a number that changes” or a tool that can actually be used in video production.
Turning data into visuals
Once time synchronization is solved, we reach the part everyone actually sees:
Gauges.
Speedometers, heart rate displays, routes, elevation, distance, timers…
Each gauge is essentially a different way to express the same workout data.
But a good sports data overlay needs to do more than display numbers.
For example, when pace changes from 4:01/km to 3:59/km, the whole component should not shift from side to side with every update. That would make for a poor viewing experience.
A route map needs a way to map GPS coordinates onto the display.
A speedometer needs natural animation as the value changes.
An elevation chart needs to relate the current progress to the full route.
The components also need to adapt to different aspect ratios, resolutions and visual styles.
At this point, the product is no longer just a FIT parser.
It is becoming a complete visual system for workout data.
Why we chose DaVinci Resolve
We want this data to become part of a real video production workflow.
Rather than generating a fixed video first and asking creators to overlay it on their footage.
For creators, a more natural approach is:
Deciding during editing when data should appear, what to show, where to place it and how it should look.
That is why Resolve Telemetry Overlay was ultimately designed around the DaVinci Resolve workflow.
Workout data should not be an extra layer tacked on after the edit is finished.
It should be part of the video’s design itself.
Simple-looking features are rarely simple underneath
This is one of the interesting things about developing tools like this.
The user may only see:
A heart rate number.
A route.
A speedometer.
But behind them is this process:
FIT file → Data parsing → Time series → Timeline synchronization → Data processing → Gauge → Video frame
A problem at any stage will show up directly in the final image.
A good tool should keep that complexity out of the way.
Users do not need to know how a FIT file is organized internally or understand how a time series maps onto video.
They should only need to choose their activity recording and start creating.
Starting with our own needs
Resolve Telemetry Overlay had a simple starting point.
We make sports content ourselves and wanted to use workout data more naturally in our videos.
When the existing workflows did not solve that problem well, we decided to build our own tool.
Many LIGHTOUCH products share that same starting point.
First, encounter a real problem.
Solve it.
Then see whether the solution can help other people facing the same problem.
Between a FIT file and a live heart rate number on the DaVinci Resolve timeline are many steps the user never sees.
And we believe that is exactly what software should do:
Leave the complex process to the tool, and give the people using it a simple experience.