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, or timed-loop laps for ultras.
- Predicted ETAs: We multiply each runner’s pace by their leg distance to estimate finish times.
- Activity log: Every start, end, and reset is recorded with who did it and when.
Getting started
- 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
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
Set your name and pace
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.
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
- Dashboard: Live status: who’s running now, who’s on deck, predicted finish, team progress bar.
- Legs / Laps: Full list of every leg (or lap) with assigned runner, distance, status, and start/end controls.
- Map: Course map with exchange points so the off-duty van knows where to drive next.
- Notes: Shared scratchpad for the team, directions, food stops, lost-and-found, inside jokes.
- Packing: Per-runner packing checklist that’s saved to your account so it follows you across teams.
Race formats
Relay (numbered legs): A fixed sequence of numbered legs (often 36). 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.
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, 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. Times are entered when legs start/end.
- 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, activity log) are permanently deleted. Save anything you want to keep (export the activity log as CSV) before then. Personal stuff like your pace and packing list lives on your account and isn’t affected.
Troubleshooting & FAQ
›I didn't get the magic-link email
›The captain is running and no one can start the next leg
›I joined the wrong team
›Can I change my pace mid-race?
›What happens if we start a leg by mistake?
›What if a runner can't finish their leg?
›Does it work offline?
›Can I install it like a real app?
›How is this different from a group text or shared spreadsheet?
›Can two teams use the same invite code?
›What does the activity log actually record?
›How do I leave a team?
›Who do I contact for help?
DUDE, Where’s My Team? · v1