PunchMonkey
Racer — My Events Create Events Login

Guide to Creating a Course

How to build an event, race, leg, and checkpoints — start to finish. The "?" links on the editor forms jump straight to the matching section below.

Quick walkthrough

  1. Plan your checkpoints in the field. Set checkpoint locations using CalTopo or the PunchMonkey app. Decide how each checkpoint will be claimed — an NFC tag, a printed QR code, or just GPS coordinates (or any mix). If you use NFC, write the tag, use its ID as the checkpoint name, and add a description.
  2. Export the points as a GPX file from CalTopo (or your tool).
  3. Make the map image. From CalTopo, print the map to PDF (best for printed maps) and JPG/PNG (best for on-phone maps / NaViViewer). Note the scale (e.g. 1:24000) and the export resolution (DPI) — you'll want them for the NaViViewer scale bar.
  4. Create a new Event here on PunchMonkeyServer. Name it for the course's location so it's easy to identify.
  5. Create a Race, then a Leg — just titles and descriptions to start.
  6. Import the GPX to set up the checkpoints. Fill in as many blanks as you know during import, and tag waypoints as Leg Start, Leg Finish, or Checkpoint. After saving you can edit each checkpoint individually. Upload a JPG/PNG leg map if you want racers to view it.
  7. Review your course — view the checkpoints and the map to confirm everything is right.
  8. Publish the Event and the Race when you're happy with the course. Racers can only find and run published events.

Notes from race directors using the system will be folded in here over time.

The hierarchy

A course is built top-down: Event → Race → Leg → Checkpoint. An event holds one or more races; a race holds one or more legs; a leg holds zero or more checkpoints, plus its own start and finish.

Field reference

CalTopo / GPX import

Lay out your checkpoints in CalTopo (or the app), export them as a .gpx (or .kml) file, then use Import GPX/KML on the leg. During import you assign each waypoint a role — Checkpoint, Leg Start, or Leg Finish — which sets that point's GPS coordinates straight from the file. NFC tag IDs and QR tokens are optional and can be added afterward by editing each checkpoint.

Claim methods — NFC, QR, GPS

Every checkpoint (and each leg start/finish) is claimed in one or more of three ways. Set any combination; at least one is required:

If you expect web racers, give each point GPS and/or QR — not NFC alone.

Leg start / finish description

An optional note shown to racers on the leg's start and finish rows — e.g. "Trailhead kiosk by the gate" or "Finish at the pavilion". The start and finish also offer a map hint (on by default) so racers can find them when GPS coordinates are set.

Checkpoint type

The type controls what happens after a checkpoint is claimed (independent of how it's claimed):

Trigger checkpoint

Marking a checkpoint as a trigger means claiming it reveals any hidden checkpoints that point at it and unlocks Mystery clues that reference it. It's independent of the type — any checkpoint can be a trigger.

Hidden checkpoint

A hidden checkpoint stays off the racer's list (and can't be claimed) until the trigger checkpoint you choose is claimed. Use it for surprise or sequential reveals. Any type can be hidden.

Allow map hints

When on and the checkpoint has GPS coordinates, racers get a small map icon that opens the checkpoint's location in Google Maps. Leave it off to keep the exact location hidden.

Point value

How many points claiming this checkpoint is worth (default 1). Raise it for harder or farther checkpoints.

Display order

The position of the checkpoint in the leg's list (1, 2, 3 …). For a Sequential leg this is also the order racers must claim them in.

Checkpoint ordering (Any / Sequential)

Any order — racers claim a leg's checkpoints in whatever order they reach them. Sequential — they must claim them in Display order; skipping one disables the skipped checkpoints. The racer is told the rule up front for each leg.

Leg completion bonus

Bonus points awarded to a team that claims every checkpoint in the leg. 0 = no bonus.

Leg map image

Upload one JPG/JPEG/PNG map image for the leg (max 8 MB; a new upload replaces the existing one). Racers can open it from View Map — in the NaViViewer app if installed, otherwise the browser. CalTopo exports work well. This is separate from the Map URL link below.

Map URL (external link)

A public link to a course map you host elsewhere (Google Maps, MapMyRun, a PDF, etc.). Shown to racers/spectators on the public pages. Separate from the uploaded leg map image.

Entry code

An optional code participants must type in the app to access the event. Leave blank for an open event.

Single Course

For a 1-race, 1-leg event: racers skip the race picker and jump straight into the leg.

Teams optional

Racers skip the team picker and race solo — each becomes their own one-person team on the leaderboard.

Event dates — ROYO vs scheduled

No end date makes a run-anytime (ROYO) course — it appears under Find a Course Near Me Now and racers run it whenever. An end date makes it a scheduled event under Find an Upcoming Event; give it specific dates and an Info / Registration URL.

Info / Registration URL

A public "More info" link racers can tap. For a scheduled event, point it at your own registration page — PunchMonkey links out to it but does not manage sign-ups.

Race finder ("At My Location")

Set a finder NFC tag, QR token, and/or GPS coordinates so a racer standing at the venue can discover the event from the app. Setting finder coordinates also lets a ROYO course sort by distance on Find a Course Near Me Now.

Racer start time

When racers are officially sent off. The app uses this as the race-clock zero — elapsed time counts up from this moment.

Race Start / Finish

Designates the tag (or leg) that marks the official race start and finish. Scanning the race finish triggers the "Race Finished!" banner in the app. You can also set these from the Legs page with "Set as Race Start/Finish".

Instructions (private)

Notes for you, the race director. Not shown to racers.

Publishing

Racers can only find and run a course once both the event and at least one race are published. Publish when your course is finished and reviewed.

Apps · ← Back to home