Capability list
Everything Trail Draw actually does
18 shipped capabilities, mapped to who uses them. If something you need is not on this list, ask us — we would rather add it than imply it.
At a glance
Every row below is implemented. The detail section after it links each one to the screen it lives in.
| Capability | Organizer | Player |
|---|---|---|
| Set up the event | ||
| Create an event and its route | Yes | No |
| Pick the game format | Yes | No |
| Place checkpoints that generate their own QR codes | Yes | No |
| Publish a share link or QR riders can scan | Yes | No |
| Get riders registered | ||
| Registration codes with your own limits | Yes | No |
| Import and export your code list as CSV | Yes | No |
| See who has registered | Yes | No |
| Sign the waiver on the phone | No | Yes |
| On the trail | ||
| Scan the QR at each stop and draw a card | Yes | Yes |
| One photo checks in every checkpoint at once | No | Yes |
| Keeps working with no cell service | Yes | Yes |
| Scoring and standings | ||
| Hands ranked automatically | Yes | Yes |
| Live leaderboard during the route | Yes | Yes |
| Every hand on record | No | Yes |
| Final results, exportable as CSV | Yes | No |
| Share a finished result | No | Yes |
| Proof and payouts | ||
| Commitment hash published before the first draw | Yes | Yes |
| Record prizes and winners | Yes | No |
Set up the event
Build the route, choose the game, and publish it before anyone arrives.
-
Create an event and its route
OrganizerName the event, set the date, and lay out the stops. Editing stays open after you publish.
Lives in:
(tabs)/organizer/create(tabs)/organizer/[id]/edit(tabs)/organizer/[id]/routes -
Pick the game format
Organizer5 Card Draw, 7 Card Draw, or Texas Hold'em, chosen per event. The format is fixed once the first card is dealt.
Lives in:
(tabs)/organizer/[id]/edit-gamesrc/components/organizer/wizard/WizardStep4Game -
Place checkpoints that generate their own QR codes
OrganizerEach stop you add becomes a scannable checkpoint. No printing service, no volunteers stationed there.
Lives in:
(tabs)/organizer/pois/index(tabs)/organizer/pois/[id] -
Publish a share link or QR riders can scan
OrganizerEvery event gets a public link. Send it however you already reach your members — text, email, or a printed code.
Lives in:
e/[slug]
Get riders registered
You decide who gets in. Trail Draw handles the mechanics of admitting them.
-
Registration codes with your own limits
OrganizerMint, label, and cap codes per event or per group. Unused codes stay unused.
Lives in:
(tabs)/organizer/[id]/registration-codes -
Import and export your code list as CSV
OrganizerBring a roster you already have, and take the code list with you when you are done.
Lives in:
backend: POST /api/pokerrun/events/{eventId}/registration-codes/import.csvbackend: GET /api/pokerrun/events/{eventId}/registration-codes/export.csv -
See who has registered
OrganizerWho is in, which code they used, and whether they have signed the waiver.
Lives in:
(tabs)/organizer/[id]/registrations -
Sign the waiver on the phone
PlayerOn-screen signature capture as part of registration. No clipboard, no paper to collect.
Lives in:
(tabs)/events/registersrc/components/forms/WaiverFlow
On the trail
The part that has to work in a dead zone, on a phone, with gloves on.
-
Scan the QR at each stop and draw a card
Organizer + playerThe scan is the check-in and the draw. No one has to hand you a card or write anything down.
Lives in:
poi/[id]/indexcheckin/[id] -
One photo checks in every checkpoint at once
PlayerSnap the PO and Trail Draw records the whole route from a single frame.
Lives in:
poi/[id]/checkin-all -
Keeps working with no cell service
Organizer + playerScans and draws are held on the device and reconciled when signal returns. Losing service mid-route does not lose a checkpoint.
Lives in:
app/_layout (SyncGate)src/services/offlineCheckin/queue
Scoring and standings
Nobody hand-counts anything at the finish line.
-
Hands ranked automatically
Organizer + playerThe hand is evaluated and placed the moment the last card is drawn, so there is no scoring queue at the end.
Lives in:
backend/internal/routes/leaderboard.gosrc/utils/gameConfig -
Live leaderboard during the route
Organizer + playerStandings update as riders check in, so the race is live rather than a surprise at dinner.
Lives in:
(tabs)/my-events/[id]/leaderboard(tabs)/organizer/[id]/leaderboard -
Every hand on record
PlayerYour own hand history for the event, card by card.
Lives in:
(tabs)/my-events/[id]/hands -
Final results, exportable as CSV
OrganizerA CSV of placements, hands, and scores for your records and your payout reconciliation.
Lives in:
(tabs)/organizer/[id]/resultsbackend: GET /api/pokerrun/games/{gameId}/export -
Share a finished result
PlayerA public result page for the event you played, once it is done.
Lives in:
results/[id]
Proof and payouts
The two things an organizer gets asked about afterwards.
-
Commitment hash published before the first draw
Organizer + playerThe deck's commitment is published before play and verified against the deck afterwards, so the shuffle can be checked after the fact.
Lives in:
(tabs)/organizer/[id]/fairness(tabs)/my-events/[id]/results -
Record prizes and winners
OrganizerTrack what is owed and to whom as part of the event, alongside the results.
Lives in:
(tabs)/organizer/[id]/prizes
See it running
The narrated walkthrough covers the whole flow end to end, if you would rather watch than read.