Everything you need to plan a route, brief two teammates who can’t see the same map, and bring a race home — from an empty checkpoint set to the final leaderboard.
Every GeoRacer race has the same three people in it, even when it’s just you testing solo: a manager running the dashboard from a laptop, a runner out in the field with a phone, and a home base teammate parked in front of a browser. The runner and home base see different things on purpose — the whole game is built around them having to talk to each other.
Fig. 1 — Who sees what
A game is built from two reusable ingredients you set up first — a checkpoint set (the physical route and its questions) and, optionally, a question set (extra trivia solved between checkpoints). You then wrap those in game-level rules — how routes are handed out, when the clock starts, whether being late costs points — and hand out one 6-character code that both teammates use to join.
The rest of this manual walks through that build order: checkpoint sets and question sets first (§2–3, since a game can’t exist without at least a checkpoint set), then the game wizard itself (§4–6), then what you do with teams once they’ve joined (§7), what the dashboard shows you mid-race (§8), how the numbers on the leaderboard are actually computed (§9), and how a race ends (§10).
A checkpoint set is the physical shape of a race: a home base location plus a list of geofenced points, independent of any particular game. Build one once — a park, a summer-house neighbourhood, a stag-do route — and reuse it across as many games as you like. Manage them under Checkpoint Sets in the top nav.

Open a set to get a map with your existing checkpoints as numbered pins. Add Here drops a pin at your current device location; Add Manual lets you type coordinates. Drag any pin to move it. Each checkpoint gets a name, a point value, and a capture radius in meters (how close a runner’s GPS has to get before the checkpoint counts as reachable).

A checkpoint’s “question” is optional — leave it blank for a pure GPS tag-and-go. Fill it in and you pick one of three answer types, which decide how a runner’s answer gets scored:
| Answer type | Value | How it’s scored |
|---|---|---|
| Auto-verified | auto | Runner types an answer; it’s checked instantly against the correct answer(s) you entered, case-insensitive. No manager action needed. |
| Open Text | open_text | Runner submits free text; it lands as “Pending Verification” until you read it and award points yourself. |
| Photo Submission | open_photo | Runner submits a photo; same manual review as Open Text, from the Live Management page. |

For an auto-verified checkpoint you also choose what happens on a wrong answer — Retry (default: keep guessing until correct) or Complete with 0 points (the runner can give up on this one checkpoint and move on for zero points instead of getting stuck).
Every set has a share mode, set from the Share button:
| Mode | Value | What others can do |
|---|---|---|
| Private | private | Only you. |
| Read Only | read_only | Anyone with the code can view and use it in their own games, not edit it. |
| Collaborative | collaborative | Anyone with the code can edit checkpoints too. |
| Public | public | Listed on the public Explore page for anyone to find and use. |

Someone joining with a share code becomes an editor automatically if the set is Collaborative, or a viewer for Read Only / Public — there’s no per-person role picker. If the owner later downgrades the share mode, editors quietly lose their edit rights.
Question sets are a separate, optional layer: trivia solved between checkpoints rather than at them. They’re what turn a GPS scavenger hunt into something the runner and home base have to solve together — each question has two separate clues.


The runner clue (with optional image) goes to the phone in the field; the home base clue (also with optional image) goes to the browser back at base. Design a set so neither clue alone is enough — a photo of a sign only the runner can see, paired with a question about it that only home base is shown to relay back, for instance. Each question is free_text or multiple_choice.
A question set only affects a game once you attach it during game setup, where you also set how many questions get drawn per leg and how many bonus points a team earns for a perfect leg.
A game is a two-step wizard: pick a checkpoint set, then configure everything else. Start it from Create New Game on the dashboard.
The only two things a game truly requires are a name and a checkpoint set — pick from your own sets or anything shared publicly. The game inherits its home base location and checkpoint list from whatever set you choose here; you can’t set home base coordinates per-game.

The top card covers the basics: name, optional description, and an overall game duration in minutes (with a separate, shorter trail duration — how long a runner’s breadcrumb trail stays visible on the map before fading).

all lets the home base teammate see the whole route at once; next_only shows just the checkpoint currently being chased, hiding the rest for a stricter need-to-know pace. Only selectable when checkpoint order is enforced.
Tick Enable Questions Between Checkpoints to attach a question set. Pick one of your sets, then set Questions Per Leg (how many get drawn at random each leg — a leg is the stretch between two checkpoint completions) and Bonus Points (awarded on top when a team gets every question in a leg right).

Enforce Checkpoint Order is the single switch that decides whether “route mode” means anything at all. Leave it off and every team can tag their assigned checkpoints in whatever order they physically reach them — there’s no “next” checkpoint to speak of. Turn it on, and you get to choose how that fixed order is handed out per team.
Fig. 12 — Same four checkpoints, three ways to hand them out
| Mode | Value | What it does |
|---|---|---|
| Same Order | sequential | Every team gets the identical sequence, 1→2→3→4… Simplest to brief, but everyone converges on checkpoint 1 at the start. |
| Rotated Start | rotated | Same loop, but each team’s starting position is spread evenly around it — team 2 might start at checkpoint 4 instead of 1 — so teams don’t bunch up at the same spot early on. |
| Individually Optimized | optimized | Each team’s order is independently run through a shortest-route solver, so every team gets the most efficient loop for their own randomized variety — orders can genuinely differ team to team. |

By default every team visits every checkpoint in the set. Switch to Subset of checkpoints to instead give each team a smaller, independently-chosen slice — useful for a big checkpoint set you don’t want any one team to fully exhaust. You can cap it by a raw checkpoint count, by a target total distance in meters (the algorithm swaps checkpoints between teams’ routes until every team’s distance lands within your tolerance percentage), or both.

Route distribution, checkpoints-per-team, the question set, and start mode all become read-only the moment a game leaves Setup. Get the shape of the race right before you hit Start — after that, a settings change means copying the game and starting over, not editing it live.
Routes regenerate automatically whenever you add or remove a team, using whatever route settings the game currently has. You can also trigger a fresh generation manually, and while a game is still in Setup you can drag-reorder any one team’s stops individually from the Teams & Routes page — that reordering locks the instant the game goes active.
Start mode decides whose clock starts when.

| Mode | Value | How the clock starts |
|---|---|---|
| Manual Start | manual | You press Start Game on the game detail page; every team’s timer begins at the same instant. |
| Scheduled Start | scheduled | Same shared clock as Manual, but it fires automatically at a date/time you set instead of waiting for a click. |
| Open Join | open_join | You still enable the game overall, but each team starts its own independent timer whenever they’re ready, from their own device — no shared start instant at all. |
Open Join games skip the bulk “assign leg-1 questions to every team” step that Manual and Scheduled games run at game-start, since there’s no single moment when every team starts.
Once a game exists, add teams from the game detail page or the dedicated Teams & Routes page. Adding or removing a team automatically regenerates routes for everyone in the game, so it’s safe to keep adjusting the roster right up until start — team creation itself is blocked once the game goes active.

Every game gets a 6-character code plus a QR code you can print or project. Participants scan the QR code, or open the /join page and enter the code, then pick a role for the team they’re joining:
runner — the person on the course with the phone.home_base — the coordinator on a browser, off the course.Each role is a single exclusive slot per team. If someone tries to join a role that’s already taken, they’re told it’s occupied unless they explicitly force-join — which silently takes over the slot from whoever was in it, rather than kicking them through a separate action.
Expand a team on the Teams & Routes page to see its full stop-by-stop order, home base to home base. While the game hasn’t started yet, this is drag-to-reorder; once it’s running, it’s locked.

Once a game is active, two pages do the day-to-day work: Live View for watching the map and leaderboard, and Live Management for touching individual teams — verifying answers, messaging, and manual overrides.
A real-time map with each team’s current position, a fading movement trail, and a leaderboard sorted by final score (checkpoint points + question points − late penalty). Everything updates live — no refresh needed.

Per team, this page shows every checkpoint’s status, lets you edit the late penalty inline, and gives you a Join Voice button to drop into that team’s voice channel directly from the dashboard.

Anything submitted to an open_text or open_photo checkpoint sits at “Pending Verification” — worth zero points — until you open it and decide. You can award any point value up to the checkpoint’s maximum (not just all-or-nothing) and leave a note, which gets sent to the team as an in-game message if you write one.

Every checkpoint also has an Uncomplete action, and a manager can toggle a checkpoint complete on a team’s behalf entirely — bypassing GPS and order checks. Use it to fix a runner’s dead-phone moment or a genuine dispute, not as a routine shortcut.
Send a text message from the bottom of Live Management, targeted as broadly or narrowly as you like: all participants, all runners only, all home bases only, or one specific team (with the same runner/home-base narrowing available within that team).

Fig. 22 — How a final score is built
Each checkpoint’s point value is fixed when you create it. Auto-verified checkpoints score in full the instant the answer matches; Open Text and Photo checkpoints score whatever you award during review.
1 point per correct answer, drawn from whichever question set is attached, plus the leg’s bonus points if a team answers every question in that leg correctly. Leg 1’s questions are handed out the moment the game starts (except in Open Join games); each subsequent leg’s questions are assigned right after the checkpoint that ends the previous leg is completed.
Only active when Require homebase return is on. Once it is, pick a mode:
| Mode | Value | Formula (base = 1) |
|---|---|---|
| No Penalty | none | 0, regardless of lateness. |
| Linear | linear | base × minutes late — 1, 2, 3, 4… |
| Exponential | exponential | base × 2^(minutes late − 1) — 1, 2, 4, 8, 16… doubling every minute. |
The penalty is capped so it can never push a team’s final score below zero, and you can always override a team’s penalty value by hand from Live Management — useful for a dispute or a GPS hiccup you don’t want to punish.
Fig. 23 — Game state machine
There’s no automatic finish. Once a team’s game duration runs out, they simply can’t complete further checkpoints — but the game itself stays active until you press End Game, behind a confirmation dialog, from either Active or Paused.
Ending a game doesn’t recalculate anything — scores just stop moving because no further checkpoint completions are possible. You can still adjust a team’s late penalty or individual checkpoint points, and still review pending Open Text / Photo submissions, after the game is finished. Once finished, the Live Management link relabels to Review Answers, and the Live View becomes a static results page — final leaderboard, medal emoji for the top teams, every team’s trail shown at once instead of live tracking.
Use Pause Game for a genuine mid-race interruption (weather, an injury, a break for lunch) — it freezes the clock and keeps the original start time intact, so resuming doesn’t re-run any of the start-of-game setup. Use Copy Game (from the game detail page) rather than editing a finished game, if you want to re-run the same route with the same settings another day.
Can I change the route mode or start mode after the game has started?
No — route distribution, checkpoints-per-team, question set, and start mode all lock the moment a game leaves setup. Use Copy Game to spin up a fresh game with different settings instead.
What happens if I add a team mid-setup after already tweaking another team’s route order?
Adding or removing any team regenerates routes for every team in the game, based on the current route settings — so a manual drag-reorder you made earlier will be overwritten. Finalize your roster before hand-tuning individual routes.
A runner and a home base both try to join the same team — what happens?
Each role (runner, home_base) is a single slot. A second join to an already-filled role is rejected unless it explicitly force-joins, which silently replaces whoever was there — there’s no separate “kick” button in the dashboard for this.
Do I have to use Question Sets?
No — they’re entirely optional, off by default. A game without one is a pure checkpoint hunt; turning it on just layers extra between-checkpoint trivia on top.
Can I award partial credit on an Open Text or Photo submission?
Yes — the review modal lets you set any point value up to the checkpoint’s maximum, not just approve-for-full or reject-for-zero.
What if a team’s timer runs out while they’re still mid-route?
They simply can’t complete any further checkpoints once time is up — the game keeps running for everyone else. Ending the game is always a manual, explicit action.
Does “Show Next Checkpoint Only” work if I haven’t enforced checkpoint order?
No — it’s disabled without a defined “next” checkpoint to show, and switching order enforcement off automatically resets home base visibility back to “all” if it was set to next-only.
Can I manually mark a checkpoint complete for a team?
Yes, from Live Management — it bypasses GPS proximity and order checks entirely. Meant for fixing a dead phone or a genuine dispute, not routine play.
Screenshots and behavior shown here are captured from the live GeoRacer dashboard.