NotesAll pages

Secret Santa Generator vs. a Random Wheel: Which One Is Actually Fair?

"Random" isn't one thing. The mechanism behind the randomness decides what can go wrong.

Most online tools for "randomly assign everyone to someone else" — a Secret Santa generator, a coffee-run picker, a chore rotation — use one of two mechanisms under the hood: a spinning wheel that lands on a name, or a shuffle-and-pair script that randomizes a list and matches position i to position i+1. Both feel equally random to use. They are not equally safe, and the difference only shows up when it goes wrong in front of everyone.

Just need a fair draw? Draw a ladder on Ghost Leg Picker — why it structurally cannot hand someone their own name is below.

What a naive shuffle can actually produce

A plain "shuffle the list and match each person to the next one" approach, done without a specific safeguard, has two known failure modes:

A wheel has a related but different problem: it's built to look exciting, not to guarantee a one-to-one match across a group. Spin it once per person, independently, and you can land on the same result twice — two people give a gift to the same third person, and someone gets nothing.

What a ghost-leg ladder guarantees instead

The ghost-leg (amidakuji in Japan, 사다리타기 in Korea) is a different mechanism entirely: a set of vertical lines with randomly placed horizontal rungs. Each participant starts at the top of one line and follows it down, switching lines whenever a rung crosses, and lands at exactly one result at the bottom. Two properties fall directly out of how the structure works, not out of extra code checking for problems after the fact:

The trade-off is that a ghost-leg ladder needs the whole group to see the same picture to trust it (or at least trust that the drawing algorithm is unbiased), whereas a wheel is more visually satisfying for a single person's turn. For a group assignment where the actual concern is "did everyone get a fair, distinct result," the structural guarantee matters more than the spin animation.

Ghost Leg Picker generates the ladder for 2–12 participants and results, traces every path, and renders the whole thing as SVG so you can see the guarantee instead of taking it on faith. No LLM, no server-side logic — the assignment math runs in your browser, and a shared link reproduces the identical result.

Draw a ladder on Ghost Leg Picker →

Related pages here: if the draw is posted by a Discord bot, the limits that post has to fit are in Discord embed character limits explained. Another rule that looks simple and quietly does something else is robots.txt matching, where a more specific Allow line can override a blanket Disallow: how to block GPTBot and ClaudeBot, and confirm it worked.