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.

Trail Draw capabilities, showing which of the 18 capabilities organizers and players each get.
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

    Organizer

    Name 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

    Organizer

    5 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-game src/components/organizer/wizard/WizardStep4Game

  • Place checkpoints that generate their own QR codes

    Organizer

    Each 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

    Organizer

    Every 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

    Organizer

    Mint, 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

    Organizer

    Bring 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.csv backend: GET /api/pokerrun/events/{eventId}/registration-codes/export.csv

  • See who has registered

    Organizer

    Who 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

    Player

    On-screen signature capture as part of registration. No clipboard, no paper to collect.

    Lives in: (tabs)/events/register src/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 + player

    The scan is the check-in and the draw. No one has to hand you a card or write anything down.

    Lives in: poi/[id]/index checkin/[id]

  • One photo checks in every checkpoint at once

    Player

    Snap 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 + player

    Scans 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 + player

    The 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.go src/utils/gameConfig

  • Live leaderboard during the route

    Organizer + player

    Standings 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

    Player

    Your own hand history for the event, card by card.

    Lives in: (tabs)/my-events/[id]/hands

  • Final results, exportable as CSV

    Organizer

    A CSV of placements, hands, and scores for your records and your payout reconciliation.

    Lives in: (tabs)/organizer/[id]/results backend: GET /api/pokerrun/games/{gameId}/export

  • Share a finished result

    Player

    A 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 + player

    The 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

    Organizer

    Track 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.