The Spin Wheels

About

Why this exists

There are plenty of spinner wheels already, and most of them work. What bothered us about them is narrower than "they are bad": nearly all of them decide the winner by spinning a random distance and reading off wherever the pointer stops. That looks fair and mostly is, but it quietly hands the outcome to the animation's easing curve and to how rounding falls at a slice boundary. If a page is going to promise randomness, the promise should be the part that is engineered.

How this one works instead

The winner is drawn first, from the cryptographic random number generator in your browser, and only then is the rotation calculated to land the pointer on that slice. The animation is presentation. The draw already happened before the wheel moved.

The selection also uses rejection sampling rather than a plain remainder, which removes the small bias that appears whenever the number of slices does not divide evenly into the generator's range. Both properties are checked by a statistical test before every release — a chi-square across hundreds of thousands of draws, plus a deliberately biased generator that the same test has to reject. A test that has never failed proves nothing.

What was left out on purpose

No accounts, because a wheel does not need to know who you are. No saved wheels on a server, because storing your lists would mean collecting them. No leaderboards, no social features, no newsletter, and no contact form — a form is a data-collection point, and we would rather publish an email address.

The cost of those choices is real and worth stating: you cannot save a wheel and come back to it, and you cannot share a link that opens a pre-filled wheel for someone else. Both are genuinely useful, and both are on the list — but they need building in a way that does not quietly turn this into a site that stores your data.

Who made it

A small independent project, not a company. If something is broken, wrong, or missing a wheel you expected to find, emailcontact@thespinwheels.com — it reaches a person.