ai-startup-skills
创业公司做 AI 产品的 7 步 Agent Skill 合集:验证 → BP → 政策 → 路演 → 获客 → 定价 → 注册。
Translation pending
Pick from your lists, roll up to 4 dice or flip a coin, all at random - installable web app
OtherHTML · JavaScriptGitHub @neckforsOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A tiny web app that picks one thing at random from a list, rolls up to five 3D dice or flips a coin, with a spinning name reel, tumbling dice, confetti and sound effects.
Try it: https://neckfors.github.io/randomizer/
It installs on your phone like a normal app, works offline, and remembers your lists.
Anything where you need a fair, random pick:
Sam, Ben), or paste a list with one option per line. The field's example (e.g. Sam, Ben, Pizza, Burger) shows as many of those as fit the screen.Every pick is completely random. Each option in the draw has the same chance every time, even if it was picked last time.
Pick each only once: switch this on for a list when you want to go round instead, like taking turns on chores. Whatever gets picked sits out automatically, and when everything has been picked, the button turns into ↺ Start over to put everything back. The setting is saved per list, so Game night can allow repeats while Who makes dinner takes turns.
Recent picks: under the options and the short tip about them, 🕘 Recent picks (centered, tap to open) keeps the last 100 picks for each list, handy for "who did the dishes last time?". It shows the newest 10; tap Show all to see the rest.
Switch to 🎲 Dice at the top to roll dice, or any random number, instead of picking from a list. It works just like a list, except each row is a range of numbers:
Roll each number only once: switch this on for a range when the same number must not come up twice, like drawing raffle tickets. Numbers already rolled sit out, the switch shows how many have been rolled, and when every number has been rolled the button turns into ↺ Start over. The setting is saved per range, and works with one die.
Recent rolls: under the ranges and the short tip about them, 🕘 Recent rolls (centered, tap to open) keeps your last 100 rolls across all ranges. Each result shows in a small gold badge, with what was rolled next to it, like 2d6: 4 + 5 or 10 to 30. It shows the newest 10; tap Show all to see the rest.
Your ranges are remembered and included in backups. https://neckfors.github.io/randomizer/#dice opens straight in Dice mode (older #number links still work).
Which die a range gets. Every range is rolled with a real-looking 3D die whenever a real die can do it fairly. Otherwise it gets the magic die:
| Range | Die | Faces |
|---|---|---|
| 4 numbers | d4 | each number once |
| 1 number | d4 | the same number on every face |
| 2 numbers | d4 | each number twice |
| 6 numbers | d6 | each number once (dots for a plain 1 to 6) |
| 3 numbers | d6 | each number twice, like a real d3 |
| 8 numbers | d8 | each number once |
| 10 numbers | d10 | each number once |
| 5 numbers | d10 | each number twice |
| 12 numbers | d12 | each number once |
| 20 numbers | d20 | each number once |
| 1 to 100 or 0 to 99 (1 or 2 dice) | two d10s: tens and ones | percentile dice: 00–90 and 0–9 |
| anything else (7, 9, 15, 37, 1,000, …) | magic d20 | twinkling symbols |
The faces always show the range's own numbers, so 5 to 9 is a d10 with 5, 6, 7, 8 and 9 on it twice, and 95 to 100 is a cube with 95 to 100. The numbers must fit on the faces: up to 2 characters on the small triangles of the d4, d8 and d20, and up to 3 on the bigger faces of the d6, d10 and d12 (a minus sign counts). Longer numbers, like 1001 to 1020, also get the magic die.
Like real dice, opposite faces add up to the same total (1 and 6, 2 and 5, 3 and 4 on a d6), and 6 and 9 are underlined so they can't be mixed up.
The magic die ✨ is a purple, glowing d20 for ranges no real die can roll. Symbols swap on its faces while it tumbles, and it lands on a face just like the other dice, then its number flies out into the gold badge. The sparkles around it keep twinkling as long as it is on screen.
How a roll works. The number is chosen first, completely at random. Every number in the range has the same chance, using the browser's secure random numbers (crypto.getRandomValues). The die's tumble is then worked out to fit: from exactly where the die rests, it turns about one axis, a few whole turns plus the turn that brings up that face, and slows down until it stops with the face pointing straight at you. That axis always leans at an angle, never straight sideways or up and down, so the die tumbles at a slant instead of just rolling forward. When the turn to the face would be straight (as it always is for a d6), the die spins about a leaning axis instead. The small extra turn it still needs is spread evenly over the whole roll, so the tumble drifts a little but never turns toward the number at the end. It simply rolls to a stop, like a real die. With several dice, each one spins about its own axis, at least 26° away from every other die's, so no two tumble alike. When a number is on a die twice, one of its faces is picked at random. The animation only shows the result; it never decides it.
Several dice are each rolled on their own and added up, just like real dice. So with 2d6, a 7 (six ways to make it) comes up six times as often as a 2 or a 12 (one way each). Each die lands on its own number, shown under the total, like 4 + 5.
Percentile dice are how real players roll 1 to 100: two d10s, one with 00, 10, 20 … 90 for the tens and one with 0 to 9 for the ones, added up. 70 and 4 make 74, and 00 and 0 make 100 (on a 0 to 99 range they make 0).
Reroll one die. After rolling several dice, tap a die to roll just that one again and keep the others, like in Yahtzee-style dice games. The total, the dice under it and Recent rolls update. A small Tap a die to reroll it under the total reminds you. To roll them all again, tap Roll again or swipe across the dice. (A percentile pair rerolls together; with one die, tapping it is just a new roll.)
Fitting the screen. The more dice you roll, the smaller they are, so up to five fit side by side. On a narrow phone, or with the phone's display zoom turned up, they shrink a little more to fit, and they resize when you turn the phone.
Sounds. Each die knocks on the table every quarter turn as it tumbles: quick at first, then further apart and softer as it slows, with a deeper knock when it comes to rest. The magic die twinkles instead.
Switch to 🪙 Coin at the top and tap Flip! (or shake your phone, tap the coin itself, or swipe across it). To flip again, tap Flip again, the coin, or the Heads or Tails badge. The result shows as Heads or Tails, and each side comes up half the time. Under the card, a tally counts how many heads and tails you've flipped; Reset starts it over. https://neckfors.github.io/randomizer/#coin opens straight in Coin mode.
The coin is a big 3D coin seen from above, lying on a table: gold on heads with a raised crown, and silver on tails with a raised star, so you can tell the sides apart at a glance, even mid-flip. Each side has a raised rim around a slightly sunken middle, with a ring of raised dots, and the ridged edge is half gold, half silver. The raised parts are lit on one side and shadowed on the other, and the metal catches the light as it turns.
How a flip works. Like the dice, the side is picked first (with secure random numbers), and the whole flip is worked out to end on it:
It never turns over at the end to show the right side; the toss is planned so it lands that way.
In the list panel:
Every list has its own address, for example https://neckfors.github.io/randomizer/#game-night. Opening it starts Randomizer straight on that list, and the address bar follows whichever list you're on. Copy it with ✎ → 🔗 Copy this list's address, and bookmark it if you like. The address only opens your copy of the list on that device. To give a list to someone else, use Share below. If you rename a list, it gets a new address, and the old one keeps working.
Tap ✎ on a list, then ⤴ Share this list. You get a link to send to anyone. When they open it, Randomizer asks whether to add the list, with all its options, to their own lists. The list travels inside the link itself, so nothing is uploaded anywhere.
Tap the ⛶ button at the top to show only the picker: the Pick!, Roll! or Flip! card in the middle of the screen, with everything else hidden. Where the phone allows it (Android), it also goes fullscreen. Leave with the ✕ in the corner, the phone's back gesture, or Esc on a keyboard. Handy on a table at game night.
On Android the installed app opens fullscreen, without the status bar. (iPhone always keeps the status bar for home screen apps.) Swiping up from the very bottom edge to bring back Android's bar doesn't scroll or tap anything in the app.
Screen readers hear each result once it has landed, like Picked Sam, Rolled 9: 4 + 5 or Heads, instead of every flicker of the spin.
Sound: the 🔊 button at the top turns the sound effects on or off. On iPhone, the silent switch also mutes them.
Updates: the app checks for a new version whenever you open it or come back to it, and every half hour while it stays open. When one has downloaded, a bar with New version available and an Update button appears at the top. The new version waits until you tap Update, so nothing is cut off halfway. Your lists and ranges are kept. Settings shows which version your phone is running.
Used to be Pick One: the app was called Pick One and lived at neckfors.github.io/pick-one/. Old links, bookmarks and installed copies are sent to the new address automatically, and your lists come along. If you had installed the old app, install it again from the new address and remove the old icon.
Plain HTML, CSS and JavaScript, with no build step or dependencies.
| File | Purpose |
|---|---|
index.html | The whole app: layout, styles and logic |
manifest.json | App name, icons and colors, so it can be installed |
sw.js | Service worker that caches the files for offline use |
icon-192.png, icon-512.png | App icons |
screenshots/ | The pictures in this README |
localStorage on your device. Nothing is sent anywhere.#list=, which never reaches the server.crypto.getRandomValues.<canvas> by a small built-in 3D renderer. Each die shape is only its corner points, and the faces are worked out from them. The knocks, clinks and whooshes are filtered noise, also generated on the fly.classic-dice.Edit the files and push to main. GitHub Pages publishes automatically.
Increase VERSION in sw.js every time (for example 105 → 106), otherwise installed copies keep showing the old version and the update bar never appears.
If you like the app, you can support the author on PayPal. Thank you!