Pick the format that matches how and when people will run. A race can't move between the big families — in-person and async — after it's created, so choose deliberately.
| Type | Start | Timing | Where you create it | Best for |
|---|---|---|---|---|
| Point-to-point | On-site start corral | Gun time, ordered GPS zones | Web + app | Waypoint races and group runs with a separate finish. |
| Loop | On-site start corral | Laps in a fixed window | Web + app | Timed lap races on a short circuit. |
| Alleycat | On-site start corral | Gun time, waypoints in any order | Web + app | Classic alleycats where route choice is the game. |
| Scavenger | On-site start corral | Gun time, ordered hidden zones | Web + app | Mystery courses revealed one waypoint at a time. |
| Relay | On-site start corral | Gun time, GPS handoffs | Web + app (runners join in the app) | Team races split across legs. |
| Backyard ultra | On-site, on the bell | Yards completed | App only | Last-person-standing endurance events. |
| Async | Any time in a window | Personal elapsed | Web + app | Time-trials people run on their own schedule. |
| Registration-only | You run the start line yourself | None — you enter results by hand | App only | Races you time off the app but still want sign-ups, a roster, and chat for. |
In-person formats
In-person races come in six shapes:
- Point-to-point — distinct start and finish. If a runner misses a waypoint (a GPS gap) but reaches the finish after covering at least ~85% of the race distance, ALLEYKAT can still complete them and flag it for your review.
- Loop — the course returns to where it started. Runners compete on laps completed within a fixed time window, and each runner ends their own race in the app when they're done; the app never auto-finishes a loop runner from GPS.
- Alleycat — a point-to-point course whose intermediate waypoints can be visited in any order, each counting once. The start corral and finish stay fixed, so route choice becomes part of the race. The leaderboard ranks by waypoints collected.
- Scavenger — the same strict waypoint order as point-to-point, but the course is hidden. A runner sees only the start corral up front; each waypoint is revealed once they personally validate the one before it, and the finish appears after the last waypoint. The total distance and waypoint count stay visible throughout — only the locations are secret.
- Relay — a team format. Runners create or join a team before paying, then hand off to the next leg by GPS proximity. Teams are formed and raced in the mobile app; you can create the race on web.
- Backyard ultra — a last-person-standing loop. Runners must finish the loop (a "yard") before each bell and be back in the corral to start the next one; miss a bell and you're out. You choose the yard distance (whatever loop you draw) and the bell interval (the classic hour, or any cadence you set — anywhere from 5 minutes to 24 hours). It runs open-endedly until one runner completes a yard nobody else does — the sole winner. Everyone else is a DNF; the last runner out before the winner's solo yard gets the "assist." The leaderboard is "who's still standing," ranked by yards. Backyard ultras are created in the mobile app — web creation isn't built yet.
Registration-only races
Any of the six in-person shapes can be made registration-only: the app takes sign-ups and gives you the roster, chat, and announcements, but there is no course in the app and nobody is GPS-tracked. You run the start line yourself and enter results by hand from the leaderboard afterwards.
It is a separate switch, not a seventh format — a registration-only alleycat is still an alleycat. Choose it on the first screen of race creation. Because nothing is timed, runners are never asked for location permission, registration stays open while the race is on, and the race names its own time zone so reminder emails and texts show the right clock time.
Running or cycling
In-person and async races each carry an activity type — Running or Cycling — set during creation and locked once the race is published. It is independent of the format, so any shape can be ridden. Choosing Cycling loosens the GPS jump-rejection limits for bike speeds and makes the app say "Cyclists" where it would otherwise say "Runners". Pace is still shown in minutes per mile.
Start modes (in-person)
In-person races support a manual_countdown start (recommended and default — you trigger the countdown when everyone's ready) and a legacy scheduled start. Manual countdown avoids a class of timing bugs where editing the start time could shift the validation window out from under runners.
Relay races are manual-countdown only — that's enforced at the database level, since a team race can't start on a clock.