Product methodology

How ReadySetPick Works

ReadySetPick is designed to make everyday random decisions understandable. This page documents what happens to a list, how a result is selected, where data is stored, and what the tools are not intended to do.

Methodology10 min readReviewed July 27, 2026

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 numberOfEntries

This 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.

Selection behavior by tool
ToolRandom operationRepeat behavior
Random WheelSelect one active indexOptional winner removal
Name PickerSelect one active indexOptional no-repeat mode
Raffle PickerShuffle unique entriesNo duplicate winner in one draw
Team GeneratorShuffle, then deal across teamsEvery list position assigned once
Pair GeneratorShuffle one or two listsLeftovers shown explicitly
Tournament BracketShuffle bracket positionsByes advance automatically
Dice RollerSelect an integer per dieEach 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.

A fragment is private from the server, not from the recipient.

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.

Continue learning

More practical decision guides

Browse all guides