Back to sign in

Relay Race Command Center

What is this?

DUDE, Where’s My Team? is a small, focused app for relay teams who need to know one thing at any moment: who’s out there running, and when does the next handoff happen?

It’s built for the chaos of long, multi-leg races. Point-to-point overnight relays, timed-loop ultras, and any other event where teammates trade off running while everyone else hunts for the next exchange in two vans at 3 a.m.

Why this, not a group chat + spreadsheet

Look, you could run your race off a Google Sheet, three group texts, and a captain who hasn’t slept since Thursday. People have. It’s ugly.

  • Built for overnight relays: Not a generic team app with relay bolted on. Every screen exists because someone, at 3 a.m., in a parking lot, asked “wait, who’s up next?”
  • Live leg tracking & handoff alerts: The whole team sees who’s on the course, how far in, and when the next exchange hits, no “ETA?” texts to the runner who can’t check their phone.
  • Late-finisher alerts for captains and admins: If a runner blows past their predicted finish, the people who can do something about it get pinged. Nobody else has to refresh a spreadsheet.
  • Kills the spreadsheet and the 200-message thread: Roster, paces, leg assignments, exchange points, packing list, race notes, all in one place that everyone can read. The group chat goes back to being for memes.
  • Tamper-resistant activity log: Every start, end, and reset is timestamped with who did it. Settles every “wait, did we start leg 14?” argument before it starts.

Who it’s for

Captains coordinating the start/finish line, admins who run the show when the captain is on a leg, runners checking how much time they have before they’re up, and supporters in another vehicle trying to figure out where to be next.

The big ideas

  • Teams: One team per race. Up to ~24 people across two vans is normal.
  • Roles: Captain (1) and Admins (3) can start/end legs. Runners and supporters view-only.
  • Legs or Laps: Numbered legs for point-to-point relays (pick any count from 6 to 60), or timed-loop laps for ultras.
  • Vans: Tell the app how many runners ride in each van and it estimates when that van’s shift ends and when the other van is back on the clock.
  • Predicted ETAs: We multiply each runner’s pace by their leg distance to estimate finish times, then adjust as anyone syncs the runner’s progress.
  • Per-team profiles: Your name, phone, pace, van, and packing list are saved per team. Captain on one race and runner on another? Different paces, different lists, no conflict.
  • Activity log: Every start, end, and reset is recorded with who did it and when.

Getting started

  1. 1

    Sign in with a magic link

    Enter your email on the sign-in page. We send a one-tap link, no password to remember. Open it on the phone you’ll use during the race.

  2. 2

    Create or join a team

    Captains create a team and get a 6-character invite code. Everyone else taps “Join a team” and enters that code (or opens an invite link).

  3. 3

    Set your name and pace for this team

    Enter your projected race pace in minutes per mile. The app uses this to predict when you’ll finish your legs, accurate paces make the whole team’s ETAs more useful. Each team keeps its own profile, so a different race can have a different pace, van, and packing list.

Roles & permissions

Four people on each team can control leg state: 1 Captain + 3 Admins. That covers the case where the captain is running while the other admins are in the second van, there’s always someone available to start or end a leg.

  • Captain: Creates the team, sets race format, manages settings, transfers role.
  • Admin (up to 3): Starts/ends legs and laps, edits leg assignments.
  • Runner / Supporter: View dashboard, see who’s up, browse the activity log.

The five tabs

  • Race: Live status: who’s running now, who’s on deck, predicted finish, van shift estimate, team progress bar, and the full leg (or lap) list with start/end controls.
  • Map: Course map with exchange points so the off-duty van knows where to drive next.
  • Team: The roster: names, paces, van assignments, roles, and which legs each person has left.
  • Me: Your legs, your times, and your packing checklist for this team. Finished legs get crossed off.
  • Setup: Race details, format, leg count, vans, race notes, invite code, theme, and the finish-soon sound.

Alerts, SOS, and sound

  • Late-finish alerts: When a runner passes their predicted finish, captains and admins get a toast right away. No refreshing.
  • Finish-soon chime: Opt in from Setup and your phone plays a chime 1, 2, or 5 minutes before the current runner is due in. Handy when you’re half asleep in the van.
  • SOS button: Always-red button floating on every tab. Tap it and captains and admins are alerted immediately, with a banner showing who has acknowledged it.
  • Progress sync: Anyone can slide the current runner’s percent complete to correct the estimate. Every ETA on the team recalculates.

Race formats

Relay (numbered legs): A sequence of numbered legs, anywhere from 6 to 60, 36 by default. Runners rotate through their assigned legs in order, exchanging at predefined points. Think point-to-point overnight relays run by two vans.

Timed loop: A fixed time window (e.g. midnight-to-noon) during which runners do laps of a single course. Anyone can run the next lap, and laps keep counting until the window closes. Set (or fix) the loop distance any time from Setup.

Pace & ETA math

Each leg has a distance. Each runner has a pace in minutes per mile. The predicted finish time is simply distance × pace, added to the leg’s start time.

The dashboard’s “predicted progress” bar fills smoothly from 0% at start to 100% at the predicted finish, so you can eyeball at a glance how close the current runner is to the next exchange.

Activity log

Every leg or lap that’s started, ended, or reset is recorded, who did it, which runner it was for, and the exact timestamp. Open the menu in the app and tap “Activity log” to view it.

  • Filter: By runner, action type (legs vs laps), leg/lap number, or date range.
  • Export: Download the full log as CSV, or share it via the system share sheet.
  • Audit: Useful post-race for race directors and team retros.

Install on your phone

The app runs in the browser, but you can pin it to your home screen so it launches full-screen with its own icon, no browser address bar, faster start, easier to find during the race.

On supported browsers (Chrome, Edge, Samsung Internet, Android) the button above triggers the native install prompt. On iPhone/iPad Safari, it opens step-by-step instructions because Apple doesn’t expose an automatic install API.

  • iPhone / iPad (Safari): Share button → “Add to Home Screen” → Add. Must be Safari, not Chrome on iOS.
  • Android (Chrome / Edge): Tap the install button above, or use the browser’s “Install app” menu item.
  • Desktop (Chrome / Edge): Install button above, or click the install icon in the address bar.
  • Firefox: No install support, just bookmark the page or pin the tab.

Privacy & data

We store the minimum needed to run a team: your name, email, phone (if you add one), race pace, the legs you run, and the activity log. Data lives in a Supabase Postgres database with row-level security so only your teammates can see your team’s data.

  • No GPS: We don’t track your location. Progress comes from the times you enter and the percent-complete slider someone moves by hand.
  • No background tracking: Nothing runs when the app isn’t open.
  • No third-party analytics: No ads, no trackers, no fingerprinting.
  • Leaving a team: Captains can remove members; you can also leave from settings.
  • Auto-cleanup after the race: About two weeks after a race’s scheduled end, the team and all of its data (legs, laps, notes, packing lists, activity log, and your profile for that team) are permanently deleted. Save anything you want to keep (export the activity log as CSV) before then. Your account and any other teams you’re on aren’t affected.

Troubleshooting & FAQ

›I didn't get the magic-link email
Check your spam / promotions folder first. Add our sender address to your contacts so future emails land in your inbox. Wait 60 seconds and request another link from the sign-in screen, only the most recent link works. If you typed the email wrong, just submit the correct one; old links expire automatically.
›The captain is running and no one can start the next leg
That's exactly why we allow 3 admins in addition to the captain. Open Settings before race day and promote a teammate in the other van to admin so there's always a controller available no matter who's on the course.
›I joined the wrong team
Open the menu and tap "Join a team" with the correct invite code. The new team becomes active. You can switch between any teams you've joined from the same menu at any time. Each team keeps its own profile, so your pace and packing list for the other team stay untouched.
›Can I change my pace mid-race?
Yes, anytime from the Me or Setup tab. Pace is per team, so changing it here won't touch your other races. Predicted ETAs for your future legs update immediately. Past leg actuals are recorded with real timestamps and aren't affected.
›What happens if we start a leg by mistake?
Any captain or admin can reset the leg from the Race tab. The reset is recorded in the activity log (who did it, when) so there's a clean audit trail. Reset only clears the start/end timestamps; the runner assignment stays.
›What if a runner can't finish their leg?
Any admin or the captain can reassign the active leg to another runner from the Race tab. The activity log captures the swap. For relay formats, you can also re-shuffle future legs in Settings to balance the load.
›Does it work offline?
Not yet. You need a data connection to start/end legs and sync. The app is small and light so it works fine on weak rural cell signal, but if you have zero bars at an exchange, you'll need to step a few feet to a spot with signal to record the handoff.
›Can I install it like a real app?
Yes. Tap Install app on the sign-in page (or in the install section above). Chrome / Edge / Android / desktop will pop the native install dialog, iPhone users tap Safari's Share button → "Add to Home Screen." Once installed it launches full-screen with its own icon.
›How is this different from a group text or shared spreadsheet?
A group chat tells you what someone said. This tells you what's happening right now: who's on the course, how far along, when the next exchange is, and what the other van should do next. It also keeps a tamper-resistant log so you can settle any "wait, who started leg 14?" questions after the race.
›Can two teams use the same invite code?
No. Each team has its own unique 6-character code. Captains can regenerate the code from settings if it's been shared too widely or if you want to lock down joining after the roster is set.
›What does the activity log actually record?
Every leg or lap that's started, ended, or reset, plus the user who did it, the assigned runner, and the exact timestamp. You can filter by runner, action, leg/lap number, or date range, and export the whole thing as CSV.
›How do I leave a team?
Open Settings → Members and tap "Leave team" next to your name. The captain can also remove members. Leaving doesn't delete your account, you can join another team or create your own.
›Can my phone warn me before the runner comes in?
Yes. Open Setup → Finish-soon sound and pick 1, 2, or 5 minutes. Your device chimes that far ahead of the current runner's predicted finish. It's per device, so the person watching the exchange can turn it on without waking the whole van.
›What does the red SOS button do?
It floats on every tab and is always red, no matter the theme. Tapping it alerts your captain and admins right away and shows a banner with acknowledgements so you know someone saw it. If a captain or admin hasn't saved a phone number, the alert still goes out in the app and you'll see a warning about the missing number.
›How does the van estimate work?
Set how many runners ride in each van in Setup. The app adds up the remaining legs in the current van's shift using each runner's pace, then shows when that van should hand off and when the other van is back on the clock. It updates as legs start and as people sync progress.
›Who do I contact for help?
Start with your captain. They know your team setup best. For bugs, ideas, or anything else, email contact@mail.dudewheresmy.team.
Back to sign in

DUDE, Where’s My Team? · v1