Every format.
One engine.

Single and double elimination, round robin, Swiss and group stages. Build one in the browser, or call the API.

Entrants
16
Matches
15
Rounds
4

Lose once and you are out. The shape everyone already knows.

Open now

Make a prediction, start a group, and watch the leaderboard settle as results land.

A match says where its players came from

Most bracket software points a match at the match it feeds. That works until a loser has to go somewhere. Here a match declares the source of each of its two occupants instead, so one shape covers an elimination tree, a losers bracket, group standings and a Swiss round nobody has paired yet.

Double elimination is expressible at all because of it.

{ id: "L2.1",  slotA: { kind: "winner", matchId: "L1.1" },  slotB: { kind: "loser",  matchId: "W2.1" } }// seed | winner | loser | standing// thirdPlace | bye | open