GreenDotPlay
Design · 18 August 2026

How we design a Green Dot puzzle

Every day a fresh board lands in your Green Dot cabinet at 06:00 UTC. Getting from raw seed to that daily board is a five-stage pipeline that we now share publicly for the first time.

Stage 1 — Generation

A small Rust program enumerates every valid 5×5 Green Dot layout (each row has two green and one yellow, each column too, no duplicate rows or columns). It stops when it has 40,000 candidates. That is enough for a hundred years of daily puzzles even after we discard the boring ones.

Stage 2 — Difficulty grading

A solver, also in Rust, reduces each candidate to the shortest deduction chain that leads to the unique solution. Chain length becomes the difficulty grade: 1–3 easy, 4–7 medium, 8–12 hard, 13+ expert. Every day we ship one board per grade to the archive; only medium boards go to the community leaderboard.

Stage 3 — Aesthetic pass

Not every valid board is a beautiful board. We drop layouts where the yellow dots sit on a boring diagonal, layouts where the greens cluster on one edge, layouts where the empty pattern looks like a face (players complain about the face ones — trust us). The aesthetic pass is a human review, one designer, two hours a week.

Stage 4 — Playtest

Ten volunteer Pro players get every candidate board a week before publication. They solve on their own cabinet, unaware of the difficulty grade. If their solve-time distribution matches our prediction within ±20 percent, the board is approved. If it deviates, we regrade or drop.

Stage 5 — Human review

Every board is looked at by a real human on the morning of publication. Not to change anything — just to catch, once a month, the truly weird thing our algorithms missed. This human is usually me, with coffee, at 05:45 UTC, in Podgorica.

Sign in to solve today's board