Organiser walkthrough

From sign-up to live scoring

The complete journey for a kabaddi tournament organiser — every step, every screen, every gotcha. Plan on ~30 minutes start to finish to set up a fresh tournament before the first whistle.

The journey at a glance

Eight steps. The first six set up your tournament; step seven is matchday; step eight is what you do after the whistle.

Step 1
~2 min

Sign up & create your league

/signup

Every organiser account belongs to a "league" (we call this a tenant). The league is the container for all your tournaments, teams, players, and branding. Sign up once — your league is created on the same screen.

What you fill in on the sign-up screen
  • Your full name and email — used for your operator account.
  • Password (min 8 characters).
  • League name — e.g. "Mumbai Friday Night Kabaddi" or "Bharat Open League". Shown on every public page.
  • League slug — auto-derived from the name, used for the public URL (kabaddiadda.com/t/your-slug). Read-only after creation.
After sign-up
  • You land on the organiser dashboard at /organiser.
  • Sidebar shows the league name and links to Tournaments, Teams, Fixtures, Scoring, Reports, Settings, and Billing.
  • You start on the Free plan automatically — no card needed. Upgrade later from Billing.
After this step: You have an organiser account, a league shell, and the public path /t/your-slug ready to receive content.
Step 2
~3 min

Create your first tournament

/organiser/tournaments → New tournament

A tournament is the unit fans subscribe to. You can run multiple tournaments side by side (Free plan caps at 3; Pro is unlimited). Pick a format up front — the fixture generator and standings logic are tied to it.

Required fields
  • Name — e.g. "Pro Kabaddi Cup 2026".
  • Slug — auto-suggested from the name; used in public URLs like /t/your-league/your-tournament. Must be unique within your league.
  • Format — League (round-robin), Knockout (single-elim bracket), Group + KO (groups feed into a knockout), or Double-elimination.
Optional fields
  • Description — one or two paragraphs that show up on the public tournament page.
  • Start date and end date — set rough boundaries; matches can be scheduled within them.
  • Max teams — caps registration. Leave blank for no cap.
  • Entry fee and prize pool — display-only, used on the public page.
After creation
  • Status defaults to "draft" — invisible on the public site until you change it to "registration" or "scheduled".
  • You land on the tournament detail page at /organiser/tournaments/<id> with tabs for Overview, Teams, Fixtures, and Reports.
After this step: A tournament shell exists, ready to receive teams. Public page won’t show it until you flip status off "draft".
Step 3
~5 min for 8 teams

Add teams to the tournament

Tournament → Teams tab

Teams are scoped to your league but assigned to a specific tournament. The Free plan caps your league at 30 teams total across all tournaments; Pro is unlimited.

For each team you add
  • Name — full name, e.g. "Maheshwari Super Kings".
  • Short name — 3-letter code shown on the scoreboard and overlay (e.g. "MSK"). Auto-suggested but editable.
  • City — optional, shown on the public team card.
  • Primary color — hex code for the team accent (e.g. #c8102e). Drives the scoreboard tile and broadcast overlay colour for that team.
Pro tip
  • Pick high-contrast primary colours per team — the scoreboard splits the screen by colour during raids, so distinct hues read well at a glance on TV streams.
  • Avoid two teams in similar shades of the same colour family in the same tournament; the live overlay can get confusing for viewers.
After this step: Each team appears in the Teams tab with an empty roster, ready for players.
Step 4
~10 min per 12-player squad

Add players to each team

Team detail page

Players are the people on the mat. Each player belongs to one team but their stats follow them across tournaments. You can add as many as you want at every tier.

Per-player fields
  • Full name — e.g. "Pawan Sehrawat".
  • Jersey number — 1-99, must be unique within the team.
  • Role — Raider, Defender (corner), Defender (cover), or All-rounder. Used by the scoring console to suggest who is on the mat.
  • Captain toggle — exactly one captain per team, optional.
  • Optional: height, weight, date of birth, photo URL — populates stat cards on the public profile.
Bulk vs one-by-one
  • Add players one at a time via the "Add player" button, or paste a CSV-style list (name, number, role) for fast bulk entry.
  • You can edit any field later — number changes are reflected on every past event automatically.
After this step: Each team has a full 7+ on-mat squad plus bench/substitutes. The lineup builder for the first match is now usable.
Step 5
~2 min

Generate fixtures

Tournament → Fixtures tab

Fixtures are the matches: who plays whom, when, in which round. You can let the platform generate them based on the tournament format, or hand-craft them.

Auto-generated fixtures
  • For League format — round-robin every team plays every other once. Click "Generate fixtures" and pick a start date and per-day cadence.
  • For Knockout — single-elim bracket built from team count. Optional seeding via drag-and-drop before generation.
  • For Group + KO — pick group sizes; group stage is round-robin, top N from each group advance to the bracket.
Manual fixtures
  • Add a single match by selecting home team, away team, round number, and scheduled-at datetime.
  • Useful for re-scheduled matches or makeup games after rain-out / venue issues.
After generation
  • All matches show up in the Fixtures tab in chronological order.
  • Each match starts as "scheduled" — fans see them on the public page.
  • You can edit datetime, swap home/away, or delete individual matches before kick-off.
After this step: A complete schedule of matches, each with status="scheduled". Lineups are next.
Step 6
~3 min per match

Set lineups before each match

Match → Lineups

Before kick-off, pick the 7 starters and the bench substitutes for each team. The scoring console only allows on-mat moves for players you mark as starters, so this gate must be locked before the match goes live.

On the lineup builder
  • Two columns — home team on the left, away team on the right.
  • Tap a player to toggle them between Starting (on mat) and Bench.
  • Exactly 7 starters per team are required. The "Lock & Start" button stays disabled until both teams hit 7.
Locking
  • Click "Lock & Start". The match flips to status="live", lineups are frozen, and the scoring console opens.
  • Substitutions during the match still happen — bench players come in via the Sub action in the scoring console — but the locked-at moment is the canonical pre-match record.
After this step: Match is locked, status="live", and you are dropped into the scoring console at /organiser/tournaments/<id>/matches/<matchId>/scoring.
Step 7
Match length (~40 min)

Score the match live

Scoring console

The scoring console is the operator’s home base for the duration of the match. It is built to be tap-driven and keyboard-friendly so you can keep up with the live action without taking your eyes off the mat.

Layout at a glance
  • Top bar — match clock, raid clock, half indicator, and the global play / pause / half-time / end controls.
  • Centre — Raider picker (left), Defenders picker (right). Tap one raider, optionally tap defenders involved in a touch.
  • Right rail — every action button: Touch, Bonus, Empty, Tackle, Raider out, Self-out, Defender self-out, Sub, Yellow / Red card, Review.
  • Bottom — Event log showing each scoring event in chronological order with the operator-readable description.
A typical raid
  • Pick the raider — global clock auto-starts and a 30s raid timer counts down.
  • If the raider touches defenders, tap each touched defender, then commit Touch (+1) or T+B (touch plus bonus).
  • If the defending team tackles, tap Tackle. The raider goes out and the defending team scores +1 (or +2 for super-tackle when 3 or fewer defenders are on the mat).
  • If neither — tap Empty (raider returned without scoring) or wait for the 30s to expire and commit then.
  • Complete Raid ends the raid cleanly between actions; the next team gets the mat.
Special situations the console handles
  • Super raids (3+ points in one raid) — auto-detected, fires a super_raid event for stats.
  • All-out — when a team has 0 on the mat, the platform auto-emits all_out (+2 for the attacking team) and revives the OUT players.
  • Do-or-die raids — flagged automatically when a team has 2 empty raids in a row; the next raid must score.
  • Cards — Yellow (2-min suspension), Red (player removed for the rest of the match).
  • Substitutions — open Sub, pick the player coming in and the player going off. Bench depth tracked.
  • Reviews — reviewer call upheld or overturned; the call is logged and points reverted if needed.
  • Out-of-bounds — Raider out of bounds (defender +1 with the boundary defender credited), Defender out of bounds (raider +1).
  • Revival queue swap — if a multi-defender touch logged the OUT order incorrectly, toggle "Swap order" in the defenders panel and tap two OUT defenders to reorder the revival queue.
What viewers see
  • Public live page at /live/<matchId> — fans open the link, see the score updating in real time via Supabase realtime.
  • Broadcast overlay at /overlay/match/<matchId> — feed it into OBS as a browser source for live streams.
  • Both pages mirror the operator console within ~1 second.
After this step: Match completes, status flips to "completed", and the score is locked. All events are persisted for stats and reports.
Step 8
~5 min per tournament

After the match — reports & sharing

Reports tab

When the match ends, the platform automatically computes per-match and per-tournament reports. You can review them, share them on social, or (on Pro) export everything as CSV.

Per-match report
  • Score progression chart — points over the match clock, split by team.
  • Raid logs — every raid with raider, defenders touched, points scored, and outcome.
  • Top performers — most raid points, most tackle points, super raids, super tackles.
Per-tournament report
  • Standings — wins, losses, score difference, do-or-die rate.
  • Raider leaderboard — total raid points across the tournament, super raids, raid success %.
  • Defender leaderboard — total tackle points, super tackles, tackle success %.
Sharing
  • Every public-facing URL (/t/<league>, /t/<league>/<tournament>, /live/<matchId>) is sharable on WhatsApp, Twitter, and Instagram.
  • Pro plan unlocks CSV exports — useful for federation reporting or your own spreadsheet workflows.
After this step: You have an end-to-end record of the match, ready to share with fans, sponsors, and the federation.

Operator tips

Configure branding before going live

Upload your league logo and pick a primary colour in /organiser/settings before fans share your public link — first impressions are sticky. (Pro feature.)

Open the scoring console on a second screen

Most operators run the scoring console on a tablet or laptop next to the mat, with the public live page on a separate screen for the venue audience.

Hook the broadcast overlay into OBS

Add the /overlay/match/<id> URL as a browser source in OBS. The overlay is transparent; place it as a lower-third on your stream layout.

Use keyboard shortcuts during scoring

The scoring console is mouse-friendly, but most actions also have keyboard shortcuts (T for touch, B for bonus, etc.) — much faster once you build muscle memory.

Ready to run a real tournament?

Sign up free, finish steps 1–6 in under an hour, and you are ready for kick-off. Free plan supports a full 3-tournament season end-to-end.

Organiser walkthrough — from sign-up to live scoring · Kabaddiadda