End-to-End Tournament Platform

Run a real fishing tournament.

From online registration through dockside check-in, real-time catch logging on judges' phones, a projected public leaderboard, jury review with photo and video evidence, formal challenge workflows, Calcutta side-pot management, and a full ceremony presentation mode — every part of a multi-day sport fishing tournament, in one platform.

12+
Major Features
17
Database Tables
2
Languages (ES/EN)
100%
Mobile Responsive
01 — The Full Lifecycle

From sign-up to ceremony.

A real tournament is a multi-day operation with dozens of moving pieces. The platform models the entire lifecycle as a single ordered flow — every stage feeds the next, every action is audited, and nothing is ever permanently deleted.

Stage 01
how_to_reg
Registration
Online sign-up generates a per-boat QR code for dockside check-in
Stage 02
qr_code_scanner
Check-In
Director scans the QR with their phone, confirms the boat in one tap
Stage 03
add_circle
Catch Entry
Judges log catches on phones at the dock with GPS + radio call codes
Stage 04
gavel
Jury Review
Queue of pending catches with media evidence + accept/disqualify actions
Stage 05
military_tech
Ceremony
Full-screen presentation mode reveals winners by category with PDF export
02 — Public Leaderboard

Seven states, one page.

The public leaderboard renders seven distinct views from a single page based on tournament state — pre-tournament countdown, two zero-states, live active rankings, teams view, rules page, and the winners ceremony. Real-time 60-second polling keeps standings, activity feeds, and status chips fresh without a page reload.

  • EN VIVO badge with per-day lines-in / lines-out logic
  • Activity sidebar feed with new-catch highlight animation
  • Weather sidebar (Open-Meteo): wind, swell, moon phase
  • Sponsor rotation, fun facts marquee, mobile bottom nav
  • Bilingual ES/EN with 100+ translation keys
Open the Live Leaderboardarrow_forward
Live Preview
Billfish
sync Auto-poll: 60s 3 boats competing
03 — Admin Dashboard

Every action in one tap.

Quick-action modal pattern: clicking Log Catch or Check-In / Out on the dashboard opens an in-place modal instead of navigating away. The check-in modal has a time-aware default: between 00:01-11:00 it preselects CHECK-OUT (morning departures); the rest of the day defaults to CHECK-IN (boats returning).

  • REGISTRAR OTRA flow for back-to-back dockside entries
  • Sidebar nav with badge counters for pending reviews
  • Per-boat current location tracking (AT SEA / AT DOCK)
  • Director-only sections: Calcutta, Settings, Users, Analytics
Open Admin Panelarrow_forward
Dashboard Modal
Movement Log
Select Boat
SEA STRIKER · AT DOCK ▾
04 — Catch Entry

Radio codes, GPS, mobile first.

Judges log catches at the dock on their phones. Each catch automatically generates a radio call code (M-0001 for the 1st marlin, V-0003 for the 3rd sailfish) for radio reporting, captures GPS coordinates via the browser's geolocation API, and flows through a mobile-stacked entry form designed for fat-finger touch targets.

  • Auto-generated catch codes from species radio_code config
  • One-tap GPS capture with high-accuracy mode
  • Per-day funfish entry caps (default 2 per boat)
  • Tournament status guards (locked/closed prevent new entries)
Try Catch Entryarrow_forward
Scoring Calculator
Try the Scoring Engine
Score
500PTS
Radio Code: M-0001
05 — Jury Review

Queue, review, decide.

Two-view workflow replaces the old crammed three-pane layout. Judges first pick the next catch from a boat-filtered queue, then focus-review it in isolation with full media evidence, technical audit checklist, and clear ACCEPT or DISQUALIFY actions.

  • Boat queue sidebar with per-boat pending counts
  • Category tabs: Billfish / Roosterfish / Funfish
  • Verification stream with photo/video viewer + GPS overlay
  • Config-driven technical audit checklist with progress bar
  • DQ modal with reason dropdown + confirmation typing
Jury Queue
Jury Review Queue
Sea Striker · Marlin Azul
Carlos Mendez · M-0001 · 08:32
500 PTS
Review
Ocean King · Pez Vela
Sarah Wilson · V-0001 · 09:15
100 PTS
Review
06 — Media Upload

Anglers upload evidence.

End-to-end media pipeline. Anglers upload photos and videos through a public portal using a per-boat access code generated by the director. Uploaded media lands in Cloudflare R2 starting unattached; judges then attach the right media to each catch during review and view it inline in the verification stream.

  • 12-character URL-safe access codes (XXXX-XXXX-XXXX format)
  • Drag-and-drop angler portal with per-file upload progress
  • 25MB photo / 100MB video caps with client + server validation
  • Director generates codes from boat detail with QR + WhatsApp share
Open the Angler Portalarrow_forward
Portal Flow
Upload Your Catches
Access Code
07 — Challenge System

Formal dispute workflow.

Anglers (via access codes) or judges can file challenges against accepted or pending catches. While a challenge is open, the catch is shown with a pulsing yellow EN REVISION chip on the public leaderboard. The director resolves with uphold (auto-DQs the catch) or dismiss (catch stands).

  • Filed via public access code OR admin JWT
  • Reason codes: species, tag, line, video, boundary, time
  • Admin CHALLENGES panel with status filter + open count badge
  • Resolution timeline with audit trail
Challenge Detail
Under Review Challenge #042
Contested Catch
Black Pearl
Marlin Azul · Tom Baker · 500 PTS
08 — Calcutta Module

Side pots, auto-calculated.

Director-only side-pot management. Pools belong to a tournament + category. Boats pay an entry fee to join. When the director closes a pool, payouts are computed from the live leaderboard standings using the pool's payout distribution and persisted as audit-trail-friendly payout rows with mark-paid actions.

  • Three percentage-based payout rules (default 60/30/10)
  • Live payout sum validation in the create form
  • Eligible-boat picker filters out already-inscribed boats
  • Same scoring engine as the public leaderboard
  • Per-payout PAID / PENDING toggle with audit trail
Payout Distribution
Billfish Pool
Billfish · Fee $500 · 12/12 Paid
Total Pot
$6,000
09 — Registration + QR Check-In

QR check-in at the dock.

Online registration generates a per-boat QR code that the director scans with their phone camera at the dock. The QR encodes a check-in URL that opens the admin app directly to a confirmation screen — boat info, captain, anglers — with a single CONFIRM CHECK-IN button. Zero dependencies, no QR scanner library needed.

  • Public registration form with multi-angler shirt sizes
  • Center console gate (blocking question on step 1)
  • Boat name autocomplete (38 historical names pre-loaded)
  • QR generated via api.qrserver.com
  • Public check-in endpoints — QR is the credential
Open Registrationarrow_forward
QR Generator
Check-In Code
Scan with your phone
QR Code

Scan this QR with your phone camera. It opens this exact section in your phone browser.

In production, the QR encodes the boat's check-in URL — director scans, taps CONFIRM, done.

10 — Presentation Mode

Full-screen ceremony.

The end of the tournament is the projector moment. Presentation mode is a full-screen ceremony reveal — hero slide, per-category podium reveal with CSS animation rising cards from below, and summary slide. Keyboard navigation for the MC, PDF export via dedicated print CSS.

  • Hero + 3 podium slides + summary (5 slides total)
  • Staggered card-rise animation (3rd, 2nd, 1st)
  • Keyboard nav: Space / Arrow / Esc / F / P
  • Bottom control bar with progress indicator
  • @media print CSS strips dark theme for clean PDF
Open Presentationarrow_forward
Presentation Mode
11 — Data & Analytics

Pageviews, catches, trends.

Director-only analytics dashboard with seven sections: overview cards, category breakdown, species table, top 5 boats, notable catches, catch timeline, DQ analysis, visitor statistics. CSV export for catches / boats / leaderboard. Year-over-year comparison against the prior tournament with delta arrows.

  • Public pageview tracking (IP-hashed, rate-limited)
  • RFC-4180 CSV export with UTF-8 BOM for Excel
  • VS PREVIOUS YEAR block with 9 metric rows + delta arrows
  • Species/category breakdown bar charts
VS Previous Year
2026 vs 2025
Total Catches
142
118
▲ 20.3%
Boats
42
38
▲ 10.5%
Heaviest Fish
68.4 LBS
61.2 LBS
▲ 11.8%
DQ Rate
3.5%
5.9%
▼ 40.7%
12 — Every Feature Live

Ready to explore?

Every link below opens the real production endpoint — leaderboard, registration, ceremony, angler portal, admin panel. Some require an admin login.

boltSetup in 90 min languageBilingual ES / EN verifiedProven at 48-boat events