How Rulixy fair randomness works
A wheel can look random without being random. Rulixy separates winner selection from animation so device speed and frame timing do not choose the result.
Selection first, animation second
When you press Spin, Rulixy obtains a random value from the browser Web Crypto API. That value is converted into an entrant index. The wheel then calculates the angle needed to place that selected segment under the pointer.
Why rejection sampling matters
A large random number does not always divide evenly by 3, 6, 10 or another entrant count. Rulixy rejects values that could create a small modulo bias and draws another secure value instead.
Why the same name can appear again
Independent random spins allow repeats. With six entrants, every new spin still has six possibilities until someone is removed. An unusual streak is not, by itself, proof of a pattern.
How to prevent repeat winners
If your rule is “one win per person,” enable Remove winner/eliminated entry after each spin. The next spin then uses the shorter list.
Shuffle does not decide the winner
Shuffle only changes list order. Since Rulixy V1.0.3 it also uses the browser secure random generator, while each actual spin still performs its own independent secure selection.
What “fair” means for a digital wheel
Fair selection does not mean that a small sample must look perfectly balanced. It means that equivalent entries are handled by the same selection rule. Streaks and repeats can happen naturally. With five names, you should not expect an orderly sequence where everyone appears exactly once before any repeat unless the application deliberately removes entries.
Why selection and animation are separated
If an animation determines the result from friction, timing or device speed, performance differences can influence behavior. RULIXY avoids that dependency: it obtains the selected index first and then calculates how the wheel should end. Animation communicates the result; it does not generate it.
Rejection sampling without formulas
Imagine the browser generates values across a huge range and you need to distribute them among seven entries. If the range is not exactly divisible by seven, some remainders can occur one extra time. Rejection sampling discards the small leftover region and requests another value, preventing that simple modulo operation from introducing a distribution bias.
What can change probability
- Deliberately duplicating one entry gives it more representation in the list.
- Removing a winner after a spin changes the available set for the next spin.
- Editing the list between spins changes who can be selected.
- Multiple entries per person are only fair when that rule is part of the giveaway.
What does not change the selected entry
Classic, Neon or Clean style, visual theme, Hype Mode, Overlay size, background color and perceived animation speed do not add entries or replace the index that was already selected. They are presentation choices.
How to explain randomness to viewers
A simple sentence is usually enough: “RULIXY chooses the result with Web Crypto first, then animates the wheel to that segment.” If you need unique winners, add that automatic removal takes the confirmed winner out of the next spin. Do not promise “no repeats” while the list stays unchanged, because that would not describe independent selection.