The core principle is simple: selection logic should be separate from presentation. A tool first chooses a result using browser-provided cryptographic randomness; animation then communicates that already selected result.
Secure random values in the browser
ReadySetPick uses the Web Crypto API's crypto.getRandomValues() method for selections, shuffles, dice, brackets, pairs, and raffle winners. The browser supplies unsigned 32-bit random values from its cryptographically strong random source. We do not derive results from the clock, cursor position, animation duration, or a predictable fixed seed.
The term “cryptographically strong” describes the randomness source. It does not turn ReadySetPick into a regulated lottery platform, certified drawing machine, or security product.
How an integer is selected without modulo bias
A random 32-bit value has 4,294,967,296 possible states. A list length will not always divide that range evenly. Simply taking the remainder can give a very small advantage to some positions. ReadySetPick calculates the largest evenly divisible range, rejects values outside it, and draws again before applying the remainder.
range = 2³²
limit = range - (range mod numberOfEntries)
draw value again while value ≥ limit
selectedIndex = value mod numberOfEntriesThis rejection-sampling approach gives each valid index the same number of possible source values.
How the wheel animation lands on the result
The selected entry index is converted into the angle needed to place that segment at the pointer. The wheel adds full rotations and an easing curve for a readable spin. Reduced-motion users receive a shorter transition, but the selected index stays the same. Rendering speed and dropped frames do not trigger a different winner.
How list shuffling works
Teams, pairs, raffle entries, and tournament positions use a Fisher–Yates shuffle. Starting at the end of a copied list, the algorithm chooses a secure random position from the remaining range and swaps the entries. Each step uses the same unbiased random-index function.
| Tool | Random operation | Repeat behavior |
|---|---|---|
| Random Wheel | Select one active index | Optional winner removal |
| Name Picker | Select one active index | Optional no-repeat mode |
| Raffle Picker | Shuffle unique entries | No duplicate winner in one draw |
| Team Generator | Shuffle, then deal across teams | Every list position assigned once |
| Pair Generator | Shuffle one or two lists | Leftovers shown explicitly |
| Tournament Bracket | Shuffle bracket positions | Byes advance automatically |
| Dice Roller | Select an integer per die | Each die is a new draw |
What stays on your device
Tool inputs and saved configurations are processed by client-side JavaScript. Saved wheels and recent tool settings use localStorage, a browser storage area associated with this site. ReadySetPick does not provide user accounts or a database that receives those lists.
- Clearing site data can remove saved wheels and settings.
- People using the same browser profile may be able to see saved local data.
- Private or incognito windows may discard local data when closed.
- Names visible on a projected screen are still visible to the audience.
How share links work
Shareable wheels, weighted wheels, and tournament brackets encode a compact configuration after the # character in the URL. This is called a fragment. Browsers use it locally and do not include it in a normal HTTP request to the web server. Opening the link allows the recipient's browser to decode the configuration.
Anyone who receives or sees the complete share URL can decode its contents. Do not put confidential, regulated, or sensitive personal information in a shared configuration.
Analytics and advertising
Optional Google Analytics loads only after a visitor chooses “Allow analytics.” Tool events record limited operational counts such as the number of entries or selected mode; they do not send the actual names entered into a tool. The cookie settings control remains available in the footer.
ReadySetPick includes the Google AdSense site-verification script and publishes an ads.txt authorization record. Advertising and analytics practices are described in the Privacy Policy and Cookie Policy.
Accessibility choices
Interactive controls use native buttons, labels, visible keyboard focus, status announcements, and semantic result structures. Animations respect reduced-motion preferences. Canvas wheels include text alternatives, while editable entries and winner dialogs remain available outside the visual drawing surface.
Limits and responsible use
ReadySetPick is built for everyday choices, classrooms, games, informal giveaways, team activities, and community events. Results are not independently notarized, stored on an audit server, or certified by a regulatory body. Do not use these tools as the sole decision mechanism for medical treatment, legal rights, financial transactions, security credentials, regulated gambling, or safety-critical allocation.
If you find behavior that does not match this explanation, report it through the contact page. Product logic has automated unit tests and browser tests covering selection bounds, duplicate handling, no-repeat behavior, downstream bracket corrections, keyboard-visible interfaces, and mobile layouts.