Skip to content
darttournament.app

August 2026 · a barn in the Netherlands

The night this first had to actually work.

No demo and no dry run: a real darts night, with real people who felt it should not drag on. 23 players, four groups, 63 matches across four boards, from the first dart to the podium. Below is what happened — including what went wrong.

23 players, pasted out of one group chat
4 groups: one of five, three of six
63 matches, every one of them played out
68× saved automatically, without anyone thinking about it

How it went

01

Twenty-three names

The list came out of the group chat and went in one go. Four groups came out: A with five players, B, C and D with six. Each group got its own colour, and it kept that colour all night — on the laptop, on the big screen and on the phones by the boards.

Two players were called Dennis. That was flagged before anything was drawn, so they became Peter B and Peter V — otherwise there would have been confusion all night about who was throwing where.

02

Four boards, busy all evening

The queue handed out the matches. As soon as a board came free it took the next match in which neither player was already standing somewhere else. Nobody was expected at two boards at once, and no board stood idle while there was still throwing to be done.

03

Two out of every group

Jeroen H won group D without dropping a single match: five from five, leg difference +8. Martijn did the same in group A with four from four. Groups B and C were tighter — three players finished on six points there and the leg difference decided who went through.

Exactly what the tiebreakers are for: points, then leg difference, then legs won, then head-to-head. In group C that separated Sander (+3), Chris (+2) and Milan (+1), all on six points.

04

The knockout

Eight players, a full quarter-final, no byes. Jeroen H — unbeaten through the group stage — went out immediately, 0-3 to Bas. Ruben saw off Peter B, Martijn was too strong for Ivo, and Sander knocked out group winner Wouter.

In the semis Bas beat Ruben 3-1 and Martijn left Sander nothing: 3-0.

05

The final goes to six legs

The final was best of seven. Bas pulled it back to 2-2, but Martijn took the last two legs. Ruben won the third-place match 3-1 against Sander.

And the organiser? Third in group A, and no knockout. Which was precisely the point: they spent the evening throwing instead of sitting behind the laptop.

Final standings in the four groups

The top two in every group went through. On equal points the leg difference decided, then legs for, then the head-to-head result.

Group A
Player Played Won Lost Leg difference Points
Martijn through to the knockout 4 4 0 +7 8
Peter B through to the knockout 4 3 1 +3 6
Hans 4 1 3 -2 2
Nadia 4 1 3 -3 2
Peter V 4 1 3 -5 2
Group B
Player Played Won Lost Leg difference Points
Wouter through to the knockout 5 4 1 +6 8
Ivo through to the knockout 5 3 2 +2 6
Stijn 5 3 2 +2 6
Bram 5 3 2 -1 6
Ferdi 5 2 3 -2 4
Youri 5 0 5 -7 0
Group C
Player Played Won Lost Leg difference Points
Bas through to the knockout 5 4 1 +5 8
Sander through to the knockout 5 3 2 +3 6
Chris 5 3 2 +2 6
Milan 5 3 2 +1 6
Jeroen W 5 2 3 -2 4
Teun 5 0 5 -9 0
Group D
Player Played Won Lost Leg difference Points
Jeroen H through to the knockout 5 5 0 +8 10
Ruben through to the knockout 5 3 2 +2 6
Robin 5 3 2 +2 6
Kees 5 2 3 -1 4
Silke 5 1 4 -5 2
Daan 5 1 4 -6 2

The knockout bracket

Eight qualifiers, a full quarter-final, no byes. The group stage was best-of-3, the knockout best-of-5 and the final best-of-7.

The knockout bracket
Round Match Legs
Quarter-finals Jeroen H — Bas 0–3 (winner: Bas)
Ruben — Peter B 3–0 (winner: Ruben)
Martijn — Ivo 3–1 (winner: Martijn)
Wouter — Sander 1–3 (winner: Sander)
Semi-finals Bas — Ruben 3–1 (winner: Bas)
Martijn — Sander 3–0 (winner: Martijn)
Final Bas — Martijn 2–4 (winner: Martijn)

The final result

  1. 1st Martijn
  2. 2nd Bas
  3. 3rd Ruben

What the room saw that night

View On the boards — page through the whole night

None of the standings here were typed out by hand. They are calculated from the saved tournament file, with the same code that did it on the night. The knockout results come straight out of it.

What that night turned up

A bug nobody noticed

The prediction of the next match per board tracked which fixture had already been handed out, but not which players. So the same player could appear under two boards. Found and fixed afterwards, with a test that pins the behaviour down.

A lower limit that made no sense

The original brief called for at least twelve players. That came from the brief, not from the logic: three players fill a group perfectly well. The limit now sits at three, with a warning below twelve.

Proof that the idea holds

The most important result is not in the code. For a whole evening nobody had to sit behind the laptop, and that is exactly what this product sells.

What the numbers show

Two groups were settled on leg difference

In group B, Ivo, Stijn and Bram all finished on six points. The same happened in group C with Sander, Chris and Milan. Without a fixed order of tiebreakers there would have been an argument about it on the night; instead it was settled in a second.

The best group winner never reached the semis

Jeroen H won group D five out of five with a leg difference of +8 — the best group stage of the whole tournament. He went out 0-3 to Bas in the quarter-final. That is what a knockout does, and exactly why there is one.

Two players won nothing at all

Youri and Teun lost all five of their group matches. But they did play five — in a straight knockout they would have been done after one and spent the rest of the night watching. That is why there is a group stage.

What it took to run this

No special equipment and no weeks of preparation. This is what was there on the night:

How to set that up for your own night is in the running order, and what you get with a different number of players is in the table on the group draw page.

What will be different next time

01

Collect the names earlier

The list was only complete around the start, and that cost the first ten minutes. Not a disaster, but it is the one step you can do in advance and therefore need not do on the night.

02

Play the third-place match before the final

The last match of the evening ought to be the final. As it was, half the room was drifting to the bar while third place was still being played for.

03

Put the hotspot password at every board

Explaining the same thing four times is three times too many. A card at each board would have fixed it, and that is now the first item in the running order.

Why this night is written up in such detail

Every piece of tournament software shows screenshots with invented names. This is the opposite: darttournament.app has exactly one evening behind it, and here it is in full, with the standings calculated from it and the bug that was in it. Anyone who wants to know whether it works does not have to believe a demo — the results above are not typed out but computed from the file that was saved that night, with the same code that ran it.

That is also the limit of what has been proven. One evening, twenty-three people, four boards, one room. Not a hundred tournaments, not a thousand players, not every conceivable phone. What follows from it is above; what still has to show itself, still has to.

Fancy a night like that?

It is not for sale yet — we are building the version everyone can use. Leave your address and you will hear when it is ready.