What it does
Written for the person who has to run the night, not the person buying software. Everything here is shipped — this page is generated from the engine, so it cannot list something that is not there.
The router reboots itself halfway through round two.
Keep taking results.
12 of the 20 things you do during an event work with no connection at all.
Checking players in, recording results, correcting a result, dropping somebody, seating a late arrival and writing up a penalty all work offline and merge when you reconnect. Pairing a round needs authority, because two devices pairing the same round is the one thing that cannot be merged — so exactly one device holds it at a time, and the rule is published rather than left to chance.
Friday Night League
- Check-in
- Round 1
- Round 2
- Round 3
- Round 4 — now
- Round 5
- Complete
Round
4
Results in
6 / 8
Remaining
11:42
6 reported2 still playing
Working offline · 3 changes waiting to sync
Six players turned up for a format built for thirty-two.
Run the right shape anyway.
5 formats, and the engine picks the shape for the field you actually have.
Swiss
Everybody plays every round, against somebody on a similar record.
Suits: The default for a store night. Works from 8 players to a few hundred.
Trade-off: Two players can finish level having never met, so the tiebreakers decide it — which is why the tiebreaker chain is fixed and published rather than chosen per event.
Final table
The top finishers play one more, all at the same table.
Suits: A night that ends with a final rather than with the last round.
Trade-off: Everything before it decides who sits down and nothing more — a player who led all night has the same seat as the one who scraped in. That is the point where a store wants it and the objection where it does not.
Round robin
Everybody plays everybody, exactly once.
Suits: Small fields and leagues. A pod of six, or a season played across weeks.
Trade-off: The round count grows with the field — every extra player is another round for everybody — so it stops being an evening somewhere around ten players.
Single elimination
Lose once and you are out.
Suits: The top cut after Swiss, rather than the whole night.
Trade-off: Half the field is done after one round, which is brutal as a whole event and ideal as the end of one.
Double elimination
A first loss drops you into a second bracket rather than out; a second loss ends it.
Suits: A top cut where the store has the time and tables to let a first loss not be final.
Trade-off: Roughly doubles the bracket rounds of single elimination, since a Losers round can follow every Winners round — a real cost in tables and time for the fairness of not ending a night on one bad match.
5 rulesets ship for 4 games, each with its own tiebreaker chain. Nothing in the engine names a card or a deck, so a league that is not a card game runs on the same software.
Week five, and the same four people are at the top of a list nobody is keeping.
Keep it for them.
A Friday night becomes a habit when there is a table to climb.
Recurring series carry standings across every night. A season is a window over one series; a circuit spans whatever you say it does — every game, across rooms — with points by finish, a weight per series, and a best-of-N rule so somebody who works Fridays can still win it. The cut line is drawn on the public table, because “am I still in?” is the only question a player has.
Friday Night League
Week 5 of 7
| Position | Player | W–L | Points | ||
|---|---|---|---|---|---|
| 1 | SarahQualified | 17–8 | 3 | 44 | held position |
| 2 | MikeQualified | 13–12 | 1 | 38 | held position |
| 3 | AlexQualified | 9–14 | 1 | 32 | held position |
| 4 | PriyaQualified | 6–17 | 0 | 28 | held position |
Top 8 qualify · Next event Friday
A player hands you a list on paper. Another sends a link. A third has not sent anything.
All three are fine.
Players hand one in; a judge marks it checked or flagged.
A link from NetDeck or anywhere else, or the list pasted straight in — whichever they have. You see who has submitted and who has not, and you can start the round anyway, because a judge who cannot start while somebody is in the parking lot is a judge fighting the software.
A list is readable by the player who wrote it and by whoever runs the event, and by nobody else, ever — including after the night ends. There is deliberately no setting that makes them public.
Someone just arrived
Dana R.
- Dana Rodriguez8 nights here · last Friday
- Dana Reid2 nights here · in August
- Seat as a new player — no account needed
Two weeks later, somebody asks why they got a game loss.
You can show them.
warning, game loss, match loss, disqualification — written down, with who ruled and when.
Every state change in a competition is a command in an append-only log, so the audit trail is not a second thing that can disagree with the results — it is the record the engine replays. Recording a penalty never changes a result on its own: the console tells you what it carries and offers to do it, rather than moving the standings for a reason nobody watching can see.
Your site takes sign-ups, your Discord posts pairings, and neither talks to the other.
Now they do.
A free, write-capable API and 12 webhook events.
Take registrations from your own website, seat a walk-in from the register, or have Discord post pairings the moment a round starts. Import a year of Fridays from a spreadsheet, and take everything back out whenever you like — schedule as CSV, the lot as JSON, no support ticket. The documentation is generated from the same code, so it cannot drift.
Every store, series and night has a calendar feed players subscribe to, so your schedule lives in their phone rather than needing a visit.
You want a staff-only night that still holds the tables, and no one outside to see it.
Say so once.
4 ways to run a night, from public to closed-doors.
- Public — On your store page, in search, and in the calendar feeds players subscribe to.
- Only with the link — Not on your store page and not in search. Anybody you send the link to can see it and sign up — good for a private league night or a test run.
- Invite only — The link works and the page explains itself, but only you can seat people. Players cannot sign themselves up — for a qualifier or an invitational.
- Private — No public page at all — not even with the link. You run it from the console and seat everybody yourself. For a closed league, a staff night or a private booking.
And the insights page reads your own calendar back to you: who came back, who you turned away from a full room, which night draws best. A rate with too few players behind it is left blank, with the reason, rather than shown as a number that means nothing.
A player wanders up asking who is still playing, and the desk is three deep.
Put it on a screen.
A TV behind the counter or a spare monitor on the wall, showing the round and the standings without anybody minding it.
Point it at the event’s display page and it runs on its own — pairings, then standings, turning the screen over every twelve seconds and checking for changes the same way the player page does. Nobody clicks anything once it is pointed at the event.

Dark

Light
Games it knows the rules for
Disney Lorcana
Core — the publisher's own round counts, cut sizes and tiebreakers.
Magic: The Gathering
Standard · Commander — the publisher's own round counts, cut sizes and tiebreakers.
Pokémon
Standard — the publisher's own round counts, cut sizes and tiebreakers.
Everything else
Swiss, a round robin or a final table, without a publisher’s tiebreakers. A real answer for a game nobody has written a manifest for, and a bounded one.
Generated from the manifests the engine loads, so it cannot name a game that is not there — 3 have their own rules today. If yours is missing it still runs; what it does not get is that game’s own tiebreaker chain.
Where things stand
Available
- Swiss, final table, round robin, single elimination and double elimination
- Multiplayer formats — Commander pods of four, one winner a table
- Recurring series with standings across every night
- Seasons and circuits, with a published cut line
- Registration, waitlists, check-in and walk-ins without accounts
- Decklists submitted from anywhere, checked by a judge
- Penalties and a full audit trail behind every ruling
- Running a round with no connection, and syncing when it returns
- Multiple rooms, staff roles and playing-space limits
- Public pairings, standings and calendar feeds
- A wall display for the room, with pairings, standings and the round clock
- A round clock the room sees exactly, roughly, or not at all
- Import and export, a write API, and webhooks for every event
- An installable player app with their table and their schedule
Coming next
- Phone verification by SMS, once carrier registration clears
Not yet
- Conventions and multi-day events
- Publisher-sanctioned programs
- White-label for a publisher or a chain
Nothing reaches “coming next” until the work has started. The right column is what organizers ask for and we have not committed to.
All of it on the free plan
1 event a week, up to 16 players, for as long as you like. Nothing above is held back for a paid tier — you pay when you run more nights, at $9.99 a month or $0.99 for a single extra event.