Build your competitions
A league, a cup, or a whole festival on one Saturday. You set the format and the scoring; the app draws the fixtures, keeps the table, and fills a side that turns up short.
Three formats, one flow
You choose the shape once, when you create it. Everything after that — the draw, the table, the bracket, the scheduling — follows from that choice.
League
Everyone plays everyone, once or twice. The table decides it. Eight teams over one leg is 28 fixtures, drawn in a second.
Knockout
Lose and you are out. One evening, or a season. Odd numbers get a bye — and a bye advances a team without touching its record.
Festival
Groups in the morning, a bracket in the afternoon, all on one date. The bracket is drawn after the groups finish — from who actually came out of them.
How you build one
Five steps. The screens below are the app itself, not drawings of it.
Create it as a draft
Name it, pick the sport, pick the format. It starts as a draft — nobody can see it or enter it until you open it. You can change every rule while it is still a draft.
Decide who can enter
Invite the teams you want, or open sign-up and cap the places. Free, a fee per team, or a fee per player.
Open for entries
Now it is visible. Teams enter, you see the list fill, and the app tells you how many more you need before it can start.
Draw the fixtures
One tap. Round robin or bracket, every round laid out. They come out unscheduled on purpose — see below.
Play, confirm, and the table moves
Each fixture is a normal game with a pitch and a roster. Both captains confirm the score, and only then does the table change.
Steps 1 and 2. Every rule on this screen stays editable until the first fixture is played.
Step 3. It says plainly what is missing — four more teams — rather than failing when you try to start.
Fixtures in a second.
Pitches take longer.
A ten-team league over one leg is 45 fixtures. Generating them takes milliseconds. Finding 45 slots that suit twenty captains does not — and no algorithm fixes a pitch that is already booked.
So the draw and the diary are separate on purpose. Fixtures arrive unscheduled, and a fixture with no pitch yet is a normal, visible state rather than an error. The screen tells you how many are still waiting.
One at a time
You pick a slot per fixture. Honest, and slow.
Block booking
Hold a venue for a Saturday or a weekly evening and drop the fixtures into it. This is what a festival runs on.
45 fixtures
Eight have a pitch. Thirty-seven are drawn and waiting — which the app shows you as a number, on the fixtures screen, every time you open it.
A score one captain typed is a claim
Only a result both captains confirmed moves the table. That rule existed before competitions did, and a league is what makes it load-bearing — a table is the first thing in this product anybody has a reason to lie about.
| # | Team | P | W | D | L | GD | Pts |
|---|---|---|---|---|---|---|---|
| 1 | Deira Athletic | 2 | 1 | 1 | 0 | +1 | 4 |
| 2 | JLT Rovers | 2 | 1 | 0 | 1 | +2 | 3 |
| 3 | Al Quoz Rangers | 2 | 1 | 0 | 1 | +1 | 3 |
| 4 | Marina United | 2 | 0 | 1 | 1 | −4 | 1 |
The two marked teams are level on 3 points. They are split by goal difference, then goals for, then head to head — in that order, chosen by you when you set the competition up, and frozen the moment it starts. A tiebreak nobody can change mid-season is the only kind worth having.
Standings are computed, never stored
The table is recomputed from confirmed results. A table you can write is a table somebody will write.
A walkover is recorded, never inferred
No result after 48 hours does not silently become 3–0. A person decides, and the log says who.
What a player sees. The tiebreak rules are printed under the table rather than kept in a rulebook nobody opens.
Byes advance a team. They do not flatter it.
Five teams do not fit a bracket, so one gets a bye into round two. That bye shows in the draw and in no played, won or goals column anywhere. Getting this wrong is the classic bracket bug, and it always favours the team that was seeded highest.
Rounds one to three of a five-team cup. A tie with no pitch yet says so, rather than showing an empty date.
A fixture short a player still gets played
A fixture is not a new kind of thing in this app — it is a game, the same as any other. So a cup tie inherits everything a game already has, and the row that matters is the last one.
The cancellation ladder — Pulling out of a cup tie costs what pulling out of any game costs.
Dual-confirmed results — A score one captain typed cannot move a table.
Payments and the split — A fixture is settled the way every other game is settled.
Guest appearances — A borrowed player is labelled as borrowed on the cup roster — never as a transfer.
Invitations and the matcher — a league fixture two players short at 6pm on a Tuesday is offered to people nearby who play that sport, at that level, and who have a record of turning up.
That is the reason this exists. A league gives people a reason to come back next week; the matcher is what stops week four being cancelled.
Everything you run, in one list.
What players near you see when you open it.
What you get
Everything below is built and running in the app today.
Leagues, cups and festivals
One leg or two, straight knockout, or groups feeding a bracket on a single date.
Your own scoring
Points for a win, a draw and a loss, and the tiebreak order. Set once, frozen when it starts.
The draw, in one tap
Round robin or bracket, every round laid out, seeded when it needs to be.
A live table
Recomputed from confirmed results only, with the tiebreak rules printed under it.
A bracket that handles byes
Odd numbers, byes, walkovers and advancement — without inventing a scoreline.
Invite or open sign-up
Pick your teams, or open it and cap the places. You see the list fill in real time.
Block scheduling
Hold a venue for a day or a weekly evening and drop fixtures into the slots.
Short sides get filled
A fixture missing players is offered to suitable players nearby, automatically.
English and العربية
Right to left throughout, including the table and the bracket.
Two things that are not switched on yet
Paid entry fees wait on our payment gateway going live — free competitions and ones where the fee simply covers the pitch run today. Prize pots are built and deliberately switched off: holding entry money to pay a winner is a different regulatory posture from taking a commission, and it stays off until a payout provider is chosen and somebody qualified has read it.
Running a league this season?
Competitions are created by verified organisers. Tell us what you run and we will set you up.
Talk to us