Your best efforts, free: why we built FitKeep

We wanted one page that answers a simple question: what is my fastest 5K, ever? And my fastest mile, 10K and half marathon, across every run I have recorded, on every watch I have owned.

That list is the reason FitKeep exists. We think your fastest times at the standard distances are basic facts about your own training, and they shouldn’t depend on a subscription. In FitKeep they’re free.

What a best effort is

A best effort is your fastest continuous stretch of a set distance inside an activity. It doesn’t have to be a race, and it doesn’t have to start at the beginning. If you ran 12 km and the fastest 5 km of it happened between kilometre 4 and kilometre 9, that stretch is the 5K best effort for that run.

Collect the best efforts from every activity, sort them, and the fastest one at each distance is your personal record.

The ten distances

FitKeep looks for these in every activity:

DistanceMetres
400m400
800m800
1km1,000
1500m1,500
1 mile1,609
3km3,000
5km5,000
10km10,000
Half marathon21,097
Marathon42,195

An activity only gets a best effort at distances it covers, so a 6 km run gives you everything up to 5km.

How FitKeep finds them

The search is a sliding window. Picture a window laid over the activity from the first recorded point. FitKeep extends its right edge one point at a time until the window covers the target distance, then pulls the left edge forward as far as it can while the window still covers that distance. It notes the time between the two edges, moves on, and keeps the shortest time it saw. Every possible start point gets considered in a single pass, so even a marathon-length activity is quick to search.

The rules that decide what counts:

  • Elapsed time, not moving time. If you stood at a traffic light for 40 seconds in the middle of your fastest 5 km, those 40 seconds count. A best effort is the clock time from the first point of the stretch to the last
  • Long pauses split the activity. A pause of more than 5 minutes cuts the activity in two, and no effort can span the cut. Your fastest 10 km can’t start before a café stop and finish after it
  • Glitches split it too. If the recorded distance jumps further than you could have travelled in that time, or goes backwards, FitKeep treats it as a recording error and splits there instead of handing you a world record
  • GPS is required. An activity needs at least 10 GPS points to be searched. A treadmill run or an indoor ride without a GPS track gets no best efforts
  • No interpolation. Both edges of the window sit on points your device actually recorded. FitKeep doesn’t estimate where you were between two points

Two answers for every effort

A GPS watch records distance in two ways at once. It writes its own running total of how far you’ve gone, and it writes your GPS position. FitKeep runs the search on both:

  • Device: from the distance your watch recorded, which may already include its own smoothing or a footpod’s reading
  • GPS: from the track, adding up the distance between each pair of recorded positions

Both results are stored. The Best Efforts page shows the device result when there is one, and you can switch to the GPS result. When the two times differ by 5% or more, and by at least 5 seconds, the effort is marked with ⚠️. For a 22-minute 5K that means a difference of 66 seconds or more.

Usually the two agree closely. When they don’t, it says something about the recording, not about you. The guide Why your best effort times disagree goes through the causes.

Your whole history, not just this year

Personal records only mean something if they cover everything. FitKeep keeps the original FIT file for every activity, and you can add old ones in bulk by uploading a ZIP of up to 3,000 FIT files at once. New Garmin activities can arrive automatically once you connect your account. Duplicates are skipped, so overlapping exports are fine.

Because the originals are kept, the best efforts are never stuck with an old calculation. When we improve the method, Reprocess All Files under Settings → Data runs the new version over everything you’ve uploaded.

Filtering the list

A fast 1 km on a bike isn’t a running record, so the Best Efforts page groups activities by sport: foot, bike, swim, winter and other. Within a group you can pick a single activity type, such as trail running, and a period: all time, this year, the last 12 months, a recent calendar year, or your own date range.

Select a distance to see your personal best, the next-best times and how far each is behind, and a chart of your times at that distance over the years. Below the distances, the page also lists your longest activities.

What’s free

All of it. Uploading, Garmin sync, best efforts, charts, goals, connecting your own AI assistant over MCP, and downloading every original file as a ZIP. You don’t need a credit card to sign up.

If we ever add a paid tier, we’ll tell you in advance, and you’ll be able to export your data first.

How this compares

If you use Strava, its Best Efforts work on the same principle. They’re timed in elapsed time and found from GPS data. Strava and Garmin Connect are both excellent places to record and share your training, and FitKeep isn’t trying to replace either. FitKeep’s focus is narrower: keep every original file you’ve ever recorded, in one place, and calculate your records from all of them.


Create a free account and upload a few activities to see your best efforts. The help article on best efforts covers the Best Efforts page in more detail.