Methodology

How Trailbuddy measures.

Trailbuddy computes every number with a published rule and published thresholds, so a coach can check the workings and a runner knows what each number means.

1. The recording

Trailbuddy records GPS position, elevation from the phone's barometer fused with GPS altitude, heart rate from a paired Bluetooth strap, and your step rate and motion activity from the phone's motion sensors. Trailbuddy saves the trace with the run.

The phone computes laps, the live metrics and the spoken climb splits during the run. Trailbuddy's server finds routes, climbs, descents and checkpoint splits in the saved trace and matches them again whenever you save or edit a finished run.

2. Lap gates

The gate is the first position after Start with an accuracy better than 30 meters, facing the direction you set off in. Trailbuddy can close a lap once you have run at least 50 meters from the gate and 400 meters in total, and closes it when you pass back through the 30 meter gate heading within 60 degrees of the start direction. An out-and-back comes back facing the other way, so Trailbuddy never laps it.

Loops of different lengths through the same gate each close as their own lap, and Trailbuddy compares and ranks a lap only against laps of the same loop. Press the lap button to close a lap by hand at any time.

3. Routes

Trailbuddy turns a finished run of at least 1 kilometer and 60 recorded points into a route when none of your existing routes matched it. A later run matches a route when it enters the route's start gate within 30 meters, heading within 60 degrees of the route's direction, passes its checkpoints within 60 meters and reaches the end, over a distance between 0.7 and 1.5 times the route's. Every lap of a loop route counts as its own run of it. The same trail run the other way round is a different route, and two loops from the same trailhead stay two routes.

A personal best is your fastest match on a route.

4. Elevation

The phone's barometer senses changes in height of well under a meter; GPS altitude holds the absolute level over a long run. Trailbuddy fuses the two into one elevation trace and records for every point whether its altitude came from the barometer or from GPS.

Trailbuddy anchors the barometer to the phone's absolute altitude or a GPS fix with a vertical accuracy of 10 meters or better, then pulls it slowly toward GPS altitude over about 15 minutes, so the trace keeps the barometer's detail without drifting. From that trace Trailbuddy computes elevation gain and loss past a 2 meter hysteresis, the grade over the last 40 meters or more (rise over horizontal distance) and vertical speed in meters per hour from the last 30 seconds, live and after the run.

5. Climbs, descents and checkpoints

After each run Trailbuddy smooths the elevation over five points and finds sustained ascents of at least 25 meters of gain, an average grade of 4% and a length of 150 meters, tolerating short gaps in the altitude record. Trailbuddy merges rises when the dip between them is less than 30 meters and less than half of either rise, trims gentle approaches (under 2% over 100 meters) off both ends, treats two climbs as the same climb when both ends lie within 45 meters and counts each pass as a rep. Descents mirror climbs: at least 25 meters of loss at 4% over 150 meters.

Each rep records its time, its gain or loss, its climb rate (gain divided by time, in meters per hour) or descent rate, its grade-adjusted pace and the share you hiked. During the run the phone watches the start and end gates (25 meters) of your own climbs and descents that start within 8 kilometers of where you set off. A climb starts when you cross its start gate heading within 60 degrees of its direction and counts when you reach the end gate after at least 60% of its length; Trailbuddy then speaks its name, your time, the gap to your best and your climb or descent rate.

You place checkpoints on a finished run. Trailbuddy splits every later run that passes within a checkpoint's gate and shows the time in the lap's splits.

6. Grade-adjusted pace

Trailbuddy uses the energy cost of running measured by Minetti and colleagues (2002): C(i) = 155.4i⁵ − 30.4i⁴ − 43.3i³ + 46.3i² + 19.5i + 3.6 joules per kilogram per meter, where i is the grade. Trailbuddy clamps the grade to the 45% downhill to 45% uphill the study measured. Grade-adjusted pace is your pace divided by C(i) / C(0): the flat pace that would have cost the same energy.

Trailbuddy applies the curve to every moving second of the run and reports grade-adjusted pace live over the last 30 seconds, for the run, for each lap and, after the run, for each climb and descent. When the last 30 seconds average steeper than 10% downhill, the live screen shows your descent rate instead of grade-adjusted pace. The curve is the same for every runner.

7. Run, hike and walk

Trailbuddy classifies every second of a run with rules over your step rate, the vertical bounce of the phone, the motion activity iOS reports, your speed and the grade. Running: a step rate of 145 per minute or more, a high bounce, iOS reporting running, or 2.8 meters per second or faster. Otherwise, at a step rate of 135 or less, a low bounce and 1.8 meters per second or slower: hiking on a grade of 6% or more, walking on flatter ground. Standing still counts as neither. A 5 second majority vote steadies the result, and a new gait shows after it has held for 3 seconds.

After the run Trailbuddy shows the share of the run you ran and the share you hiked, and the share hiked on each climb and descent. Hiked includes walking.

The classification is for display and comparison. It never changes a time, a distance or a pace.

8. Weather and trail surface

When you finish, Trailbuddy asks Apple WeatherKit once for the temperature and the conditions at the run's start point for the hour you started (or the current conditions if that hour isn't available) and saves them with the run. Without an answer within 8 seconds, the run saves without weather. The app credits Apple Weather as WeatherKit requires.

When you save, you pick one of six surfaces: Dry, Dusty, Mud, Wet Rock, Roots / Technical or Snow / Ice. Trailbuddy shows the weather and the surface next to the time and never adjusts a time for them.

9. The Smart Coach

After a run the Smart Coach shows at most one sentence, the first of these rules that applies: a new best on a climb you have run before that you hiked for the most part, a new best on a climb you have run before, a climb rate 10% or more above the average of your recent runs (it needs three of them), a start at 25°C or more, or a climb rate 10% or more below that average. Descents and slower splits get no sentence. The note stays on the run for you and your coach.

10. Heart rate

Trailbuddy connects to any Bluetooth strap that uses the standard heart-rate profile. Trailbuddy sets the zones from your maximum heart rate: the value in your profile, otherwise 220 minus your age (at least 150), otherwise 190. Recovery is below 60%, Endurance 60 to 70%, Tempo 70 to 80%, Threshold 80 to 90% and VO2 Max from 90%.

11. Shoes

A pair's distance is the distance you entered when you added it plus every completed run with that pair, computed from the runs rather than counted up. Each pair retires at 600 kilometers unless you set another distance; once it reaches it, the shoes list shows a reminder and the run setup screen notes it when you pick that pair.

12. What Trailbuddy leaves out

Trailbuddy doesn't adjust times for heat, weather or surface, doesn't personalize grade-adjusted pace, doesn't compute a training-load score and doesn't use machine learning. It shows the conditions next to the time and leaves the judgment to you and your coach.

13. Verification

Trailbuddy's replay suite runs synthetic loop runs with modeled GPS noise through the lap engine: every loop has to close as its own lap within 5% of its length, and a 4 km out-and-back has to produce no laps. Test suites also check climb and descent detection, grade-adjusted pace, the share hiked and shoe mileage against worked examples.

Synthetic traces prove the logic, not the trail. The TestFlight cohort records real runs to measure both on actual trails.

Want the numbers on your climbs?

Join the waitlist for the App Store release, or apply to bring your club or coaching group into the TestFlight cohort.