Skip to content

Tournament app

The Tournament app covers the whole competition: registration, heats, live scoring (C/V/E), leaderboards, spectator views and OBS overlays. Once enabled it appears as the Tournament area with Tournaments · Athletes · Judges.

In-depth guides: Tournament setup (step by step until going live) · Judging guide (judge app and head-judge panel).

  1. Tournament → Tournaments → New tournament: title, date, location — a linked event is created automatically on your website.
  2. In the tournament hub, create categories (divisions, e.g. Open Men / Open Women).
  3. The format assistant offers presets: qualifying → final, qualifying → hope round → final, standard, without hope round.
SettingEffect
Seeding modeRandom or snake (serpentine by bib number).
Advancers per heatTop N (1–3); drives advancement and the knockout tree.
Knockout mergeTarget size of the knockout heats (merge × advancers). If fewer riders advance, the heats get smaller instead of half empty — how the bracket is built.
Run durationLength of a run; drives the live timer for judges/spectators.
ScheduleHeat durations (by heat size), buffer, contest start per day, time zone, free running order.
Manual heat assignmentAllows moving athletes between heats manually.
  • Tournament → Athletes shows the org-wide roster (real people, grouped across all tournaments) with filters by tournament/category and confirmation status.
  • Clicking a person opens the profile drawer: name, email (with an Invite button when no MOEP account is linked), origin, photo, bio and their tournament history; pending registrations are confirmed inline.
  • In the tournament history you set the division per entry — also after the fact, if you forgot it when adding the athlete.
  • Also per entry: remove from this tournament. This removes only that entry; the person stays in the roster and in every other tournament.
  • Once the heat has started or scores exist, removal and division changes are blocked. That is deliberate: the athlete carries their runs and every judge score, which would be deleted along with them. If you really need to re-seed, take them out of the heat first.
  • Import: Upload or paste an entry list as CSV (first name, last name, e-mail). The preview shows before anything is written who will be created, which lines are duplicates and which could not be read. Running the same file twice creates nobody twice — so you can safely re-upload an extended list.
  • During the import you can invite the riders right away (checkbox, off by default). The number next to it shows how many e-mails will go out — only riders with an e-mail are contacted. They then fill in their own profile.
  • Assign several to a division at once: filter by tournament, tick the athletes, pick a division. Handy right after an import.
  • Athletes can also register themselves via the public tournament page — you confirm the registrations in the roster.
  • Head judge and judge are module roles — assign them under User management → Members, and those people appear as suggestions.
  • In the tournament, Assign judges lets you pick members via search (or invite external judges by email) and set their role in the tournament.
  1. Generate heats: from confirmed athletes per category; seeding follows your settings, and lycra colors are assigned per heat in the heat detail view.
  2. Schedule: start times are computed from heat durations + running order — publicly visible on the tournament page.
  3. Live scoring (sequential model):
    • The head judge starts the active athlete’s run in the HJ panel (matrix view: athletes × judges, active rider highlighted).
    • Judges score the active run in the judge app with C/V/E scores (composition, variety, execution). If the connection drops, scores are buffered locally and re-sent automatically.
    • The head judge confirms the run — only then does the next athlete start. Confirming is only possible once every judge on the panel has scored. Individual scores can be rejected, set by the head judge, or — if a pad fails — entered on the judge’s behalf. See Judging: scoring & HJ panel for all of it.
  4. Advancement: when heats finish, the top N advance; hope round and knockout tree fill automatically according to the format settings.
  • Public tournament page: live leaderboard, brackets with LIVE badge, heat details, schedule and run timer — at yourclub.moep.cloud/tournament/….
  • In the leaderboard the runs that count towards the score are highlighted (in the accent colour), the others sit faded next to them. That makes it obvious at a glance what the total on the right is made of.
  • OBS overlays: lower third, leaderboard, rider profile and results board as transparent browser sources (1920×1080) — fully designable and preparable with sample data. Everything about it on its own page: OBS overlays & streaming.
  • Embedding on your own website: show live feed, bracket and results in an iframe on your club or event page — released per tournament, allowed domains per organisation. See Embed a tournament on your own website.

Delete (trash icon, with confirmation) removes the tournament + linked event from all views. The permission is controlled as a dedicated right (tournament.delete) in role management.

Your athletes stay. Deleting a tournament does not take the people with it: they remain in the organisation’s athlete list and in every other tournament. Only the entry for that one tournament disappears. So if you have to rebuild a contest after a setup mistake, you do not re-enter the surfers.