Am I going to make the cut-off?
Backyard Ultra Live is a single-screen race dashboard for last-runner-standing events: one loop per cut-off period, on the hour, until you stop. The whole screen answers one question, and everything else is arranged underneath it.
Free, with a one-off £4.99 to remove adverts
The hero
Two bars, one scale, and the gap between them is your buffer
A backyard ultra is not won on pace. It is won on the margin between the loop you just ran and the hour you were given to run it in. So the margin is the thing the screen draws, not a number you have to work out.
Read it as an offset
The buffer is a horizontal gap between two leading edges, not a figure to parse. You can take it in with a glance at a headtorch beam, which is the only kind of glance available at 3 a.m.
The tick is target pace
A mark on the lap bar sits where your target lap time would have put you. “Am I on plan” and “am I on time” become the same look.
Colour carries the state
The whole screen tracks the same thing, so at hour fourteen you know you are in trouble before you have read a single digit.
Target lap time
Set what you mean to lap in, and it becomes the warning threshold
State lives in exactly two colours — marshal-bib green and timing-clock red — and appears nowhere decoratively.
- Amber — projected to miss your target lap time.
- Red — projected to miss the cut-off itself.
- Green — comfortable, and banking rest for the yard after this one.
Without a target, the app falls back to five minutes of buffer. The target also scores the loop progression chart and drives the discipline summary, so one setting shapes everything downstream of it.
What's on the screen
Every readout, in the order it appears
One screen, scrolled. Nothing is behind a tab, because a tab is a decision and you are eleven hours in.
| Group | Readouts |
|---|---|
| Hero | Time left in the yard, projected buffer, yard number, cut-off length. |
| Lap | Distance done and left, delta against your last lap, target, vs target, projected lap, and the time of day you are due at the line. |
| The loop | The lap drawn as a shape — ground covered filled in, a marker where you are, and the start/finish flagged. |
| Lap profile | Lap elevation with your position on it, climb per lap, low and high point. |
| Pace | Speed, pace now, pace average, target pace, cut-off pace and what is needed now to hold the cut-off. |
| Ground ahead | Climb left, gradient, altitude, projected lap, line-crossing time and a terrain-adjusted ETA. |
| Race clock | Elapsed, moving, stopped, yards, total distance, total climb, best, average and last lap. |
| Loop progression | Every lap as a horizontal bar against the cut-off, coloured by whether it hit target, with the target line down the column, cumulative distance, time and the rest it earned — then five ghost rows for the laps ahead. |
| Discipline | Laps on target, average vs target, spread between fastest and slowest, and drift per lap — whether you are holding steady or fading. |
The loop
A schematic trace, not a map
The loop is drawn as a shape rather than plotted on a basemap, and that is a deliberate choice rather than a missing feature.
- It reads faster at a glance, which is the only way anyone reads anything during a lap.
- It needs no network and no battery out in a field, where both are scarce and the race lasts days.
- An off-course warning covers “am I lost” without a basemap behind it.
Position is measured in metres along the course rather than by how far through the coordinate list you are. A GPX is dense on the bends and sparse on the straights, so drawing by index would put you somewhere you never were.
Lap profile
Flat ground should look flat
The profile is drawn from raw GPX elevation, not the smoothed series used for ascent totals, and it never squeezes less than 60 m of range into full height.
A profile normalised to its own range fills the card whatever the terrain, so an eleven-metre valley loop and a mountain lap look identical. The floor is what keeps the picture honest.
Loop progression & discipline
Every yard you have run, scored against the one you planned
Each lap is a bar against the cut-off, coloured by whether it hit target, with the target line running down the column. Beside it: cumulative distance, the lap time, and the rest that lap earned you.
Five ghost rows sit under the finished ones for the laps ahead and the ground they would put on the clock — so the shape of the next few hours is on the same screen as the last few.
Underneath, the discipline summary: laps on target, average vs target, the spread between your fastest and slowest, and drift per lap. Fading is a trend, and a trend needs more than one number to show up.
Courses
Import a GPX, set the start time, pick a format
Courses are per-account. Bring a GPX in from Files, give it a name, a date and start time, and a format.
Backyard
One lap per cut-off period — 60 minutes by default, and configurable — running unlimited until you stop. The classic last-runner-standing format.
Set laps
A fixed number of laps. The dashboard counts down to the last one instead of running open-ended.
One pass
Start to finish, once. For a point-to-point or a single loop where there is no cut-off to make.
The start time anchors everything. Cut-off
boundaries fall on start + N × cut-off, so the clock is exact rather than
depending on you tapping a button at the line — which is precisely the moment nobody
wants to be looking at a phone.
Live tracking
Share a link, and your crew can watch the yard go round
The runner can share a link that opens their crew's view of them: the loop with their position on it, lap times, and how they are holding the target, updating as they run.
The page draws the course itself rather than loading a basemap, so it stays self-contained and light on a phone at a race site — where the signal is one bar and the battery has to last until Sunday.
- Sharing stays off until you switch it on.
- The link carries a full UUID, not a guessable code.
- A new link can be issued at any time, which cuts off everyone holding the old one.
- The page keeps the last good view up if a request fails, rather than blanking on one dropped packet in a field.
Watching a runner
Four digits, no account
Supporters can watch from inside the app without signing up. Watch a runner on the sign-in screen takes the runner's four-digit code and polls the same tracker the web page uses.
Four digits is 10,000 combinations, so the code is a convenience rather than a secret. The runner can issue a fresh one at any time from the share sheet, and a host serving the tracker is expected to rate limit lookups.
Alerts
Five things worth interrupting for, and a ceiling on all of them
A backyard runs for days. An unbounded notification feed is how people mute an app and then miss the one that mattered.
Every lap finished
Time, and the rest it earned.
Cut-off closing
Three minutes before the hour is up.
Next lap starting
When rest is nearly over.
Off the course
When the line has been left behind.
Slipping off target
When the projection stops making your target lap time.
At most, per hour
Each alert is switchable, and a hard ceiling caps how many arrive in any hour.
Alerts are scheduled on the device. Telling a supporter about someone else's lap needs the app awake, which is why the follow screen polls — true background delivery would need a push service behind it.
Adverts, and removing them
Free to run. £4.99 to never see an advert again.
A single adaptive banner sits at the very bottom of the dashboard, below every readout, so it never comes between a runner and a number they need mid-lap.
Remove adverts is a one-off, non-consumable in-app purchase. It hides the banner everywhere, and the entitlement follows your Apple Account, with a Restore for a reinstall or a second device.
The way out sits directly under the banner as well as in the menu — someone who has just been shown an advert is the one person who wants it.
The price is never written into the interface. It comes back from the App Store already formatted for where you are, so a reader in Dublin or Sydney sees their own currency.
Backyard Ultra Live
Free
iPhone · requires location access for lap detection
- Unlimited courses and races
- GPX import, three race formats
- Live tracking and watch-by-code
- All alerts
Optional, one-off
£4.99
Remove adverts, forever, on every device signed in to your Apple Account.
Get it on the App StoreAccounts & privacy
Your races stay on your phone
Stored on the device
Sign-up is required, and accounts live on the phone. Passwords are PBKDF2-SHA256 hashed — 210,000 iterations with a per-account salt — and held in the Keychain.
Two runners, one phone
Each runner's courses and lap history live under their own user id, so a shared phone at a race does not mean a shared race.
Location stays local
Nothing leaves the device unless you switch live tracking on. When you do, only what a viewer displays is sent.
This is device-side account storage, not server-side authentication. It gates the app and keeps two runners separate; it is not a security boundary for anything sensitive.
Under it
Lap detection that knows a loop starts and finishes in the same place
Windowed matching
Your position is matched against the course in a window around where you last were, rather than by searching the whole route. On a loop that matters: a global search would call you 100% complete the moment you stood on the start line, because the start and the finish are the same place.
Navigation-grade fixes
Location runs at navigation accuracy with no distance filter, because pace maths wants every fix, and with background updates so the screen can be off. Wild fixes are rejected rather than allowed to poison pace and position.
Questions
Frequently asked
What is a backyard ultra?
A last-runner-standing race. Every runner sets off on the same loop at the top of each hour and must finish it inside that hour to start the next one. The loop is traditionally 6.706 km — 4.167 miles — so a full day is 100 miles. It continues until one runner is left, and there is no set distance: finishing early only buys you rest before the next hour begins.
What does “cut-off” mean?
The cut-off is the pen runners gather in before each hour starts, and by extension the hour itself. “Making the cut-off” means getting round the loop in time to be back on the line when the next one starts. Backyard Ultra Live treats the cut-off as the unit the whole screen is built around, and its length is configurable — 60 minutes by default.
Does it need a phone signal?
No. The course is drawn from the GPX you imported rather than a basemap, lap detection runs against that same file, and alerts are scheduled on the device. Signal is only needed if you switch live tracking on, so your crew can follow along.
Can my family follow me during the race?
Yes, two ways. You can share a link that opens a web page showing the loop with your position on it, your lap times, and how you are holding your target. Or they can open the app, tap Watch a runner on the sign-in screen, and type your four-digit code — no account needed.
Sharing is off until you switch it on, and you can issue a fresh link or code at any time to cut off anyone holding the old one.
How do I get my course into the app?
Import a GPX file from Files. Give the course a name, the date and start time of the race, and a format — backyard, a set number of laps, or a single pass. The start time is what anchors the cut-off clock, so the hour boundaries are exact rather than dependent on you tapping a button.
Does it work for races that aren't backyard ultras?
Yes. Set laps counts down a fixed number of laps, and one pass covers a single start-to-finish run. You lose the cut-off hero, but the lap, pace, profile and race clock readouts all still apply.
What does it cost?
The app is free and shows a single advert banner at the very bottom of the dashboard, below every readout. A one-off £4.99 in-app purchase removes it everywhere and follows your Apple Account, with a Restore for a reinstall or a second device. There is no subscription.
Will it drain my battery over a multi-day race?
Location runs at navigation accuracy, which is the expensive setting, because pace and lap detection need every fix. In exchange the app draws no map tiles and makes no network requests unless live tracking is on, and the screen can be off while tracking continues. Plan on a battery pack, as you would for any GPS device over a backyard.
Where is my data stored?
On your phone. Accounts are held in the Keychain with PBKDF2-SHA256 hashed passwords, and each runner's courses and lap history live under their own user id. Nothing is uploaded unless you turn live tracking on, and then only the reduced set of numbers a viewer displays.