Open a link. That is the entire setup.
You will touch this app for about thirty hours, once, mostly while tired. It should not require an account, a tutorial, or a working cell signal, and it does not ask you for any of them.
Six things, and no homework.
No account
Tap the link your captain sent, confirm which slot is yours, and you are on the team. Making an account is offered exactly once, is dismissible, and only exists so you can keep your race history year to year.
One screen that matters
When you run next, who is out right now, and whether the team is on schedule. Everything else is one tap away and you will probably never need it.
A be-ready time, not a guess
You get the early bound as a single time, so being ready by it is always right. Once you are inside an hour it turns into a countdown.
Two alerts, plus a real one
Reminders fire before your projected start — 45 and 15 minutes by default, both adjustable, both switchable off. The third alert is the one that saves you: it fires the moment the runner ahead of you actually starts.
It works with no bars
The schedule, the countdown and the alerts all run on your phone. Losing signal means you stop seeing other people’s updates. It does not mean you stop knowing when you run.
It goes dark at night
Between 8pm and 6am race-local the app switches to a true dark theme no matter what your phone is set to, so checking your start time at 2am does not cost you your night vision or wake the person next to you.
It shows you almost nothing. That is deliberate.
While your leg is in progress the app collapses to an elapsed clock, one line of encouragement, and a Finished button large enough to hit with a glove on, in the dark, at the bottom of a hill.
No pace. No ahead or behind. Nothing to compare yourself to.
The app knows whether you are down four minutes. It will not tell you, because knowing that mid-leg either flattens you or pushes you to run harder than is sensible on a technical trail at 2am. That comparison belongs to your captain.
The Finished button has no confirmation dialog.
An accidental tap is something your captain can fix in ten seconds. A tap you missed at the exchange, because a modal asked whether you were sure, is not.
Nobody else is awake. Just you.
The phrase rotates every few minutes. Your captain can write their own.
The number you actually want is when you run again.
Finishing a leg tells you what you just ran and then answers the only question you have left, as a wall-clock time you can set an alarm against.
Nice work.
Yellow loop · 4.6 mi · 47:12
You’re up again around 11:45 PM — about 4 hours.
Nice work.
Green loop · 3.8 mi · 38:04
Quick turnaround — you’re up again at 1:15 AM.
You’re done.
3 loops · 14.2 mi · 2:11:47 total
Team finishes around 11:20 AM.
It is not following you around the woods.
RelayJoe has no GPS tracking. A handoff is recorded because a person tapped a button, which is both more accurate than a satellite fix under tree cover and far cheaper on a battery that has to last thirty hours. No breadcrumb trail of where you were is ever collected, because none is ever needed.
It also does not sync on a timer. It checks in when you open it, when your connectivity changes, and after you record something. A background poller running all night in the cold is how an app gets blamed for a dead phone, and then deleted.
What it stores about you is your name, the pace estimate your captain entered, and the times you actually ran. The privacy policy is short, for the same reason.
Send this to whoever is holding the spreadsheet.
RelayJoe is set up by the captain, once. Everyone else just gets a link.