Inspiration

Real-world checkpoint races are great fun, but organizing one usually means juggling route files, spreadsheets, messaging groups, paper start lists, separate timing tools, and manual results. PizzaCup brings the whole event into one mobile-friendly web app.

The goal was simple: hassle-free race setup, instant QR-code entry, and more time for organizers to prepare the pizza while racers have fun.

What it does

PizzaCup is a GPS-based checkpoint rally app for creating and running real-world races.

For organizers

  • Create and brand an event.
  • Plot ordered checkpoints on an interactive map or import a GPX route.
  • Configure GPS validation radiuses and generate checkpoint QR codes.
  • Share the event through a short link or participant QR invitation.
  • Choose whether racers see the full route or unlock checkpoints sequentially.
  • Open registration, start and finish the race, and reopen it when needed.
  • Follow participants, locations, check-ins, and race status live.
  • View stage rankings, final standings, and the podium.

For participants

  • Learn the flow through an animated, swipeable “How it works” tour.
  • Join from a QR code or event code without installing an app.
  • Register securely through a passwordless email link and return on another device.
  • Follow the route and see the next checkpoint.
  • Validate arrival using GPS or scan the checkpoint QR code when location accuracy is unreliable.
  • Track elapsed time, checkpoint progress, rankings, and final results.

How we built it

PizzaCup uses a mobile-first JavaScript frontend with React/Next.js-compatible packaging through Vinext and Vite. Leaflet and OpenStreetMap provide route building, checkpoint maps, and live position views. QRCode and jsQR handle participant invitations and checkpoint scanning.

Supabase provides PostgreSQL, authentication, Realtime updates, Storage, database functions, and row-level security. Administrator and participant authentication are separated while both experiences remain in one application. The production frontend is deployed automatically through GitHub Actions.

How Codex and GPT-5.6 were used PizzaCup was developed with Codex using GPT-5.6 as an active implementation and review partner across multiple sessions.

Codex helped turn the initial rally concept into complete organizer and participant flows; trace behavior across the frontend and Supabase schema; implement GPS and QR validation, live maps, race controls, sharing, and onboarding; diagnose defects; review security boundaries; and verify builds and deployments.

Important decisions developed during these sessions included:

  • combining GPS-radius validation with checkpoint QR codes as a practical fallback;
  • separating organizer and participant authentication state;
  • using Supabase Realtime for positions, progress, and race-control updates;
  • enforcing access through database functions and row-level security instead of relying on browser checks;
  • supporting both complete route sharing and sequential checkpoint reveal;
  • keeping the participant experience mobile-first and installation-free; and
  • shipping a compact static frontend while Supabase supplies live backend services.

GPT-5.6 was used for planning, implementation, debugging, UX refinement, security review, and release preparation. It is part of the development workflow rather than a runtime dependency of the finished app.

Challenges

The hardest parts were handling imperfect mobile GPS readings, designing QR validation as a safe fallback, keeping live participant and organizer views consistent, and securing two distinct user experiences against the same backend. Mobile camera permissions, route visualization, passwordless recovery, and race-state transitions also required careful end-to-end testing.

Accomplishments

PizzaCup now covers the complete lifecycle of a checkpoint rally—from building and branding the course to participant registration, live racing, checkpoint verification, rankings, and the final podium. It runs in the browser, works across devices, and requires no participant installation.

What’s next

Future improvements include richer organizer analytics, reusable event templates, offline-tolerant race progress, more route formats, push notifications, and support for larger multi-organizer events.

Built With

Share this project:

Updates