TL;DR
We don’t use Math.random(). Each tool is driven by a seeded PRNG. Your link encodes both the seed and your state, so anyone can replay the same process and get the same result.
Why reproducible randomness?
"Random" is fun—until you need to prove it. In class, a stream, or a meetup, you want two things at once:
- fair-looking randomness, and
- the ability to replay the exact outcome from a link.
That’s why every randomizer in SimulatorsGPT (Wheel, Coin, Dice, Top) runs on a deterministic PRNG with a visible seed.
What’s inside the link?
We use two concepts:
seed: the starting value for the PRNG; determinism flows from here.state: your configuration (e.g., wheel items + weights, "no-repeat" mode, count of dice/coins).
When you press Share, we serialize { seed, state } into a compact string and attach it to the URL (e.g., ?seed=...&state=...). Open that link anywhere → same process, same outcome.
Why not Math.random()?
Math.random() is not stable across sessions or engines. A seeded PRNG (e.g., xorshift/mulberry) guarantees the same number sequence for the same seed, regardless of device—perfect for demos, audits, and fairness.
Fairness, bias, and honesty
Some tools expose bias on purpose (e.g., Coin or Top). This is for teaching, prototyping, and activities. Seeds still matter:
- Seed controls the internal number stream.
- Bias controls the probability curve on top.
- The link encodes both, so what you see is what others will reproduce.
What gets recorded?
- Wheel: items, weights, colors, "no-repeat" history, seed
- Coin: count, bias, material theme, seed
- Dice: count, seed, last results
- Top: bias, initial spin strength, seed
We store nothing personal by default; it’s your choice to share a link.
A quick test (try this)
- Create a weighted wheel (e.g., A×5, B×1) and enable No-Repeat.
- Spin once, then press Share and copy the link.
- Open on your phone. You’ll see the same spin path and the same stop.
Limits & transparency
We make no cryptographic guarantees; this is a teaching/utility layer, not a lottery system. For high stakes, use a certified RNG and publish your seeds publicly.