Results land.
The bracket moves itself.
Groups, Swiss, double elim, map veto, check-in and live scoring — TAP runs the whole event and keeps every table, seed and schedule current while you watch. Built for CS2, Valorant and LoL communities.
No card, no player cap, no trial clock
The whole tournament, handled.
From the first sign-up to the grand final. Most of it happens without anyone typing anything twice.
Pick a shape. TAP builds the rest.
Groups, Swiss, single and double elim, league — and stages that feed each other.
- Stages chain
- Pot & drag seeding
- Standings computed live
The day runs without a clipboard.
Check-in windows that close, walkovers by rule, and a schedule that learns your real match length.
- Check-in & no-show
- Learned start times
- Call to the floor
Teams report. You referee the exceptions.
One side reports, the other confirms in a tap — down the same path a scorer would have used.
- Lobby codes
- Screenshot proof
- Disputes queued
Pick and ban, refereed by the server.
Your discipline’s sequence, a clock on every turn, both captains on the same live board.
- Ban · pick · side
- Turn timer
- Per-tournament override
Stages that hand over to each other.
Pick a shape and watch it assemble. Each stage knows where its entrants come from, so the next one seeds itself the moment the previous one finishes.
Swiss
32 teams · 5 rounds
Double elimination
8 teams · Bo3
Grand final
2 teams · Bo5
Every stage says where its entrants come from, so the next one seeds itself the moment the previous finishes. Change the shape mid-tournament and nothing has to be re-entered.
A league is not a bracket that takes longer.
It runs for months, in divisions, and the interesting part is what happens between two seasons. TAP treats promotion, relegation, staying up and a relegation play-off as one idea: places X–Y of one table go into another competition. Nothing moves on its own — TAP proposes, you apply.
And a league fixture has a window instead of a kick-off: the two teams agree the time between themselves, in the app, with the whole exchange on record for the week somebody disputes it.
Divisions with their own tables
One competition, a season, and divisions inside it — each with its own fixtures, table and public page.
Promotion and relegation
Say “places 1–2 go up”. Whether that is a promotion or a relegation follows from the two divisions — you never pick it, so no arrow can claim the opposite.
Match days with a window
A match day is a name and a window. The two teams agree the time in the app; a fallback date applies if they never do.
Next season, copied
Copy the whole season with its divisions and rules — and the entry rules carry the right teams into the right division.
It posts in the channel you already use.
Ten events, rendered as proper embeds rather than a JSON dump — scheduled, checked in, vetoed, started, reported, disputed, finished. Your members stop asking when they play, because it is already in the channel.
Setting it up is a webhook URL and a test message that reports the receiver’s real status code — so you know it works before the tournament, not during it.
Quarterfinal · Nocturne vs Vantage
Both teams checked in
Veto complete
Nocturne 2–1 Vantage
An overlay your streamer can just add.
Point the scene at one URL. Mark a match as featured and the overlay follows it — as does the public page, so the stream and the site never disagree about what is on.
A stream link sits on each match, so viewers find the right channel from the bracket instead of from a pinned message.
The parts nobody advertises, that decide the day.
Native Discord posts
Real embeds coloured by discipline across ten events, from scheduled to grand final. The test message reports the receiver’s actual status code.
Proven identity
Players verify with Steam instead of typing a handle. Switch on “verified only” and unverified entries are refused at the door.
Organisations and roles
A tournament belongs to an organisation, not a person. Co-organisers and scorers get real permissions the backend enforces.
Caster tools
A stream link per match, a featured match the public page and the overlay both follow, and an overlay built for a broadcast scene.
Registration control
Capacity, a deadline and a waiting list — with the rule enforced server-side, so “full” and “closed” never disagree between screens.
Offline-capable scoring
The scorer tool keeps working when the hall’s wifi does not, buffers per match, and refuses to silently overwrite a newer result.
Leagues, seasons, divisions
A season with divisions and tables, promotion and relegation between them, and next season copied from this one — with everyone in the right division.
Exports and reports
Results, standings and participant lists out of the system in a form you can hand to a federation or a spreadsheet.
Your own branding
Your logo on the public page, the bracket and the overlay — transparency survives the re-encode, which is tested rather than hoped.
A public page worth sharing
Schedule, standings, bracket and live scores on one link. Good on a phone, good on the big screen in the hall.
Your players get an app of their own.
Check-in, lobby codes, map veto, live scores and their own team — free for every player, in the browser or on their phone. Which is also why your inbox goes quiet.
Nothing. We are building the community first.
Every feature on this page is free to use right now — no tiers, no trial running out, no feature held back to make a paid plan look better. If that ever changes we will say so in advance, and nothing you have already built will be locked away.
- Tournaments
- Unlimited
- Players and teams
- Unlimited
- Every feature
- Included
- Card required
- No