PlayMore - Tournament Management That Actually Works

Published on Mar 9, 2026

PlayMore - Tournament Management That Actually Works

Picture this: twelve teams show up for a G Juniors tournament on a Saturday morning. You need to schedule eight rounds of matches across three different field sizes, make sure every team plays exactly eight games, avoid pairing teams from the same club, and distribute bye rounds fairly because you have an odd number of teams.

Now do it on paper while parents are asking which field their kid plays on next.

That is the problem PlayMore solves. It is a tournament management platform built specifically for Swiss youth football — the PMF development format, knockout brackets, live scoring, club management, and federation data import, all from your phone.

Table of Contents

The Problem

If you organize youth football tournaments in Switzerland, you already know these headaches.

Manual scheduling takes hours and still produces bad results. The PMF (Play More Football) format requires complex match generation — eight rounds of games on mixed field sizes with fair distribution across all teams.

Most organizers use Excel spreadsheets or printed grids. It takes an afternoon to build a schedule, and it usually ends with some teams playing six games while others play nine. Fixing the imbalance means starting over.

Nobody knows what is happening. Parents stand on the sideline asking “what is the score?” and “which field is next?” because the printed schedule is pinned to a board somewhere across the complex. Coaches check their WhatsApp groups for updates that may or may not be accurate.

By round four, the printed schedule has been corrected with a pen three times and nobody trusts it anymore.

Federation data requires manual entry. The FVRZ matchcenter publishes match schedules online, but organizers copy dates, opponents, and venues by hand into their own systems. Mistakes happen. Duplicates happen. A tournament that the federation already has all the data for gets rebuilt from scratch in somebody’s spreadsheet.

Club management is scattered across tools. Member lists live in spreadsheets. Invitations go out via WhatsApp. Role assignments happen through email threads. Nobody has a clear picture of who can do what. When a new coach joins the club, getting them set up takes a week of back-and-forth messages.

Standard tournament software does not understand PMF. Most bracket tools handle single elimination. Some handle round-robin. None handle the Swiss PMF development format where every team is guaranteed to play eight games, field types rotate between 2v2 and 3v3, and E Juniors have a two-phase system that merges individual teams into clubs halfway through the tournament.

PlayMore was built from the ground up to handle all of this.

What PlayMore Does

PlayMore handles tournament creation, live scoring, and club management from any phone. It generates optimal match schedules automatically, updates standings in real-time as scores come in, and connects to the Swiss football federation for match import.

The workflow is straightforward:

  1. Create a draft with just a name and a date — the create form is now five fields, nothing more
  2. On the tournament page, pick a format (PMF, knockout, group + knockout, round robin + knockout, league) — format-specific fields appear only after you choose
  3. When teams are in, press generate — the algorithm builds a balanced schedule in under a second
  4. Press Start Now (or schedule it for later) and share a QR code with parents and spectators

They scan it and watch the league table update live on their phones as coaches enter scores. No paper schedules. No Excel files. No WhatsApp groups for score updates.

PlayMore home page showing next tournament and quick actions

PMF Tournaments

PMF (Play More Football) is the Swiss youth development format. The philosophy is simple: every kid should play as much as possible, regardless of skill level. There are no eliminations. Every team plays exactly eight games.

PlayMore supports all three PMF age categories.

G Juniors (ages 6-8) play small-sided 2v2 and 3v3 games. The focus is on touching the ball, running, and having fun. Fields are small, games are short, and the schedule rotates teams through different field sizes so nobody plays on the same field all day.

F Juniors (ages 9-10) step up to 3v3 and 4v4 games. Games get a bit longer, fields a bit bigger. Tactical awareness starts to develop. The algorithm balances field type assignments across the tournament so every team gets an even mix of 3v3 and 4v4 formats.

E Juniors (ages 11-12) use a unique two-phase system that you will not find in any other tournament software.

Phase 1 is 3v3 with individual teams — FC Toss 1, FC Toss 2, SC Winterthur 1, and so on. Each team plays and builds its own standings.

Then Phase 2 shifts to 6v6: FC Toss 1 and FC Toss 2 combine into “FC Toss”. Standings carry over from the individual teams to the club level. This bridges individual skill development and team strategy — it models the Swiss development philosophy in the tournament structure itself.

In every category, the algorithm handles field assignments, avoids same-club matchups (you can configure how strictly with a slider), and distributes bye rounds fairly when there is an odd number of teams.

Set your preferences, press generate, and get a schedule that would take a human hours to build by hand.

Tournament rounds view showing matches across different fields

Knockout Tournaments

For when you need a bracket instead of a league, PlayMore handles that too.

Single elimination works with any number of teams, not just powers of two. If you have 11 teams instead of 16, the top seeds get first-round byes automatically. No dummy teams, no awkward workarounds.

The bracket fills in as matches complete — winners advance to the next round automatically.

Double elimination gives every team a second chance. Lose in the winners bracket and you drop to the losers bracket. It takes two losses to go home. The final matches the winners bracket champion against the losers bracket survivor.

Seeding is flexible. You can seed teams manually with drag-and-drop, assign seeds randomly, or use a snake draft for balanced groups.

The visual bracket display shows connection lines from each match to the next, with placeholders like “Winner of Match 3” that fill in with real team names as results arrive.

Single elimination bracket with 8 teams

Group + Knockout

For bigger tournaments where a single bracket is too short and a full league is too long, group + knockout does both. Teams get divided into balanced groups (2 or 4), play round-robin inside their group, then seeded knockout brackets kick off with the top finishers.

Placement matches — 5th place, 7th place, 9th place — play between bracket rounds instead of stacked at the end, so teams knocked out in the quarter-final have their consolation match before the semi-finals start. It doubles as a rest buffer for the teams still in the main bracket.

The bracket view collapses placement labels into ranges (“5th – 8th place”) when the numbers get large, so the display stays readable even with 16+ teams.

Round Robin + Knockout

When there’s only one group of teams but you still want a final stage, this is the right shape. Everyone plays everyone once (Circle Method, balanced from the start), the top finishers carry their RR-based seeding into a small bracket, the rest of the table is decided by group standings.

Bracket size is the organiser’s choice: none (group winner takes the trophy), top 2 (just a Final), top 4 (SF + Final + optional 3rd-place match), or top 8 (QF + SF + Final + optional 3rd-place match). Smaller setups (insufficient teams for a chosen bracket size) grey out unavailable cards in the wizard.

Field count chunks each round automatically — if 8 teams generate 4 parallel matches but the organiser only has 2 fields, the wizard splits each logical round into two field-sized rounds with the timing offset right.

League

A pure season format. Every pair plays twice — home and away — and there’s no knockout to follow. Standings at the end of the double round-robin are the final result.

The wizard re-uses the round-robin route under the hood and branches on the format: bracket locked to none, double-round-robin on by default, scheduling off by default since seasons run across weeks rather than a single tournament day. The summary chip strip drops the bracket and 3rd-place chips and surfaces a “Home/Away” chip when the toggle is on.

Pause and Resume

Real tournaments get delays. A thunderstorm, a kid stuck in traffic, the ref hasn’t arrived. When you pause, the tournament clock freezes — every remaining match’s estimated start time shifts by the paused duration on every device, so when you resume everything realigns without anyone having to recalculate.

Start Now, Pause, Resume are admin-only buttons on the tournament page. The status badge shows the current state clearly: draft → ready → active ↔ paused → completed.

Live Scoring

This is where it all comes together. Live scoring is the feature that makes tournament day actually manageable.

A coach taps a match on their phone, enters the score using a wheel selector designed for quick touch input, and confirms. That is it — one interaction, done in seconds.

Every device watching that tournament sees the result instantly. Parents on the sideline, the other coach at the next field, spectators who scanned the QR code five minutes ago — all of them see the league table update without refreshing.

Standings recalculate in real time: points, goal difference, tiebreakers, table positions. If a late goal in Round 7 changes who finishes third, every screen reflects it within a second.

The score entry interface is designed for the sideline. Big touch targets, a scroll wheel instead of a keyboard, and a confirmation step so you do not accidentally submit the wrong score.

Completed matches show a toast notification on every connected device — “FC Toss - SC Winterthur 3:1” — so coaches across the complex know results without leaving their field.

Live league table updating as scores come in

Federation Import

PlayMore connects to the Swiss football federation matchcenter (FVRZ) so you do not have to enter tournament data by hand.

Link your club profile to the matchcenter and browse your team’s upcoming federation matches. See a tournament you want to manage? Import it with one tap. Date, venue, opponents — all filled in automatically from the federation data.

If another club in PlayMore has already imported the same tournament, you join theirs instead of creating a duplicate. No more parallel spreadsheets for the same event.

Category detection is automatic. When you select your team from the federation data, PlayMore reads the age group and configures the right PMF category — G, F, or E — without you having to set it manually.

Federation import screen showing upcoming matches from the FVRZ matchcenter

Club Management

PlayMore keeps your club organized in one place instead of across five different tools.

Invite new members by email. They receive a link and can either log in with an existing account or create a new one during registration.

Once they are in, assign them a role:

  • Admin: can manage the club, invite members, and create tournaments
  • Member: can participate in tournaments and enter scores

Each member can be linked to their federation team — for example, “Junioren G a” — so the app knows which age category they coach. This feeds into federation import and tournament creation.

The member management page shows all club members with search, role badges, and team assignments. Admins can promote, demote, edit team assignments, and remove members from one screen.

Safety rails prevent accidents: maximum three admins per club, and the app will not let you demote or remove yourself if you are the last admin. You cannot lock yourself out.

Club member management page with role badges and team assignments

Your Own Teams, Sign Up Yourself

Alongside the club-based flow, users can now own teams personally. Create a team on your profile page — “SC Winterthur U10” — and it stays yours across tournaments. When you see a custom-format tournament that’s accepting signups, pick one of your teams and send a signup request in one tap.

Organisers see pending requests on the tournament page and approve or reject them. Approvals sync into the tournament’s team list automatically — no manual entry, no email back-and-forth.

This covers the long tail of tournaments that aren’t pure club events: mixed-team friendlies, private cups, external teams joining a club tournament. Signup-request mediation means the organiser stays in control while users don’t need an organiser account to add themselves.

Works on Any Phone

PlayMore is a Progressive Web App. You open it in your browser, and it works. No App Store download, no update approvals, no waiting for the next release to fix a bug.

Add it to your home screen and it launches in full screen with its own icon, just like a native app.

The app caches tournament data so schedules and standings you have loaded before are available even without a network connection. When you come back online, everything syncs automatically.

The interface is designed mobile-first:

  • Touch targets large enough for cold fingers on a Saturday morning in November
  • Layout adapts from phone to tablet to desktop
  • German and English, including Swiss football terminology — Junioren, Spielrunde, Rangliste, Aufgebot

Who Is This For?

PlayMore works best for:

  • Swiss youth football clubs running PMF tournaments with multiple age categories
  • Tournament organizers who want automated scheduling instead of spreadsheets
  • Clubs with multiple teams that need fair, balanced match generation
  • Any organizer who wants live scoring that spectators can follow on their phones

It is probably not the right fit for:

  • A single pickup game (too much setup for too little benefit)
  • Professional leagues (different requirements entirely)
  • Clubs with no one comfortable running a server

Getting Started

Setting up PlayMore for your club takes a few minutes:

  1. Deploy the container — one Docker image, one command. Any VPS or home server works.
  2. Create your club — set up the club name and invite your fellow organizers.
  3. Add your teams — import from the federation or create them manually.
  4. Create a tournament — pick the format, configure the fields, and generate the schedule.
  5. Share the QR code — parents and spectators scan it and they are in.

That is it. From zero to a running tournament in under ten minutes.

For the Technically Curious

PlayMore is built with SvelteKit and PocketBase, packaged in a single Docker container. Self-hosted means your data stays on your server — no cloud service in the middle, no third-party tracking, no subscription fees.

The entire backend — database, API, authentication, real-time subscriptions — runs inside that one container. Deploy it on any VPS or home server where Docker runs. Backups are a single SQLite file.

The rest of this series digs into the technical details for developers who want to understand how it works under the hood.

What Is Next

PlayMore is actively developed and already used at real tournaments. Current priorities include:

  • Tournament templates — save a tournament configuration and reuse it for the next event
  • Expanded statistics — deeper attendance analytics and participation trends across seasons
  • Offline improvements — better handling of spotty connections at sports facilities with poor coverage
  • Bracket placeholder substitution — resolve labels like 1st Place and Winner SF1 against post-RR standings at runtime, so RR + Knockout bracket cards show real team names without manual editing
  • Admin format settings — a /admin/formats UI for toggling which formats appear in the picker and editing knockout default values (currently managed via the PB superuser dashboard)

This is the introductory post in the PlayMore series. For the technical architecture, see Building PlayMore. For the real-time data system, see PlayMore Real-Time Stores. For the tournament algorithm deep dive, see The PMF Algorithm.