I have a bad habit of needing to make a simple decision and then spending way more time thinking about it than it would’ve taken to just pick something. What’s for lunch? What game are we playing? Who goes first?
So I built something to deal with that. And while I was at it, I added a few other tools I tend to reach for anyway.
What’s in it
Weighted Picker
This is the main one.
You add a list of options, give each one a weight, and hit “Pick.” Higher weight means it shows up more often. So if you love pizza but are trying to be at least a little responsible, you can give salad a 1 and pizza a 3 and pretend you’re making progress.
You can save multiple named sets like Lunch or Weekend Plans, and they stick around in your browser’s localStorage. You can also export a set as JSON and import it somewhere else or send it to someone.
Passphrase Generator
This one runs server-side in PHP.
Pick how many words you want (2 to 10), choose a delimiter (dash, underscore, dot, space, nothing, random digit, or your own), and set the capitalization style. You can optionally add a number or symbol at the end. It can generate up to 20 at once so you can just grab one and move on.
The word list is about 200 hand-picked words. Mostly animals, nature, colors, and everyday objects. Easy to remember, easy to type.
Dice Roller
Standard dice: d4, d6, d8, d10, d12, d20, d100. Or just type your own.
You can roll multiple dice at once, add a modifier, and see each individual result. Natural 1s show up red, max rolls show up green. Roll history is saved locally.
Random Numbers
Set a min and max, pick how many numbers you want, and generate.
If you turn on no duplicates, it uses a Fisher-Yates partial shuffle so the results are actually uniform. You can sort them if needed and copy everything as a comma-separated list. There are also a few quick presets like 1 to 10, 1 to 100, lottery picks, and RGB values.
The code is up on GitHub if you want to run your own or dig through it:
https://github.com/joshespi/random-tools
And there’s a live version here:
Leave a Reply