Rip a pack. Five names. Eighty-two nights. Send the card.
Basketball pack · NBA · WNBA · sports cards · holographic foil · WebGL · 82-0
A browser basketball pack you can fork. Not a shop. Not a sportsbook. Not the NBA.
Play: first-bucket-studios.vercel.app
How to play · Fork it · Contribute · MIT
Ninety seconds. HOW-TO-PLAY.md is the sheet.
1. Rip the pack. A franchise, an era, and a luck lane land. No two pulls match.
2. Tear the foil. Ten cards. Tap five.
3. Lock five. The season walks. The number on the card is that walk.
4. Send the card. Save the PNG. Share it. Pin it if you want it on the rail.
Tape: docs/tape/demo.mp4
| You click | What it does |
|---|---|
| Rip the pack | New room. New ten. |
| Lock five | 82 nights from those names. |
| Save the card | first-bucket-{team}-{wins}.png |
| Share | Phone: system share sheet. Desktop: the tray. |
| Pin this walk | Keeps it on the rail. Nothing is pinned until you pin it. |
| X / Threads / Reddit / Facebook / WhatsApp / Telegram / LinkedIn | Opens that app with the walk. |
| Discord | Copies the walk, then opens Discord. Paste it. |
| TikTok / Snapchat / Instagram | Saves a 9:16 plate, copies the caption, opens the app. |
| Copy the walk | Public /walk/v1.… — paste it anywhere. |
| Open the walk | Same five, same nights, forever. |
There is no “copy image.” The file is the card. The URL is the walk.
House demo (optional, not pinned): Thunder 51–31.
https://first-bucket-studios.vercel.app/walk/v1.OKC.positionless.even.51.chet~dort~hartenstein~jalenw~sga
Node 22. Auth off. Database unused.
git clone https://github.com/DigitalCurrensy/first-bucket-studios.git
cd first-bucket-studios
npm install
npm run devOpen a real browser tab so Save works. Some embeds swallow the download.
npm run test:pin # mixer lock + walk + stream-json
npm run test:vl # stills + tape are night stock
npm run test:demo # live pack, studio already runningThe house certificate is the lock test. It must stay this walk. See CONTRIBUTING.md.
| Doc | What it is |
|---|---|
| HOW-TO-PLAY.md | The ninety seconds |
| docs/TESTING.md | E2E layers |
| docs/STREAM-JSON.md | NDJSON eval pipe |
| docs/BENCHMARKS.md | Pin + visual loop |
| docs/ANALYTICS.md | Booth funnel. Local. |
| docs/WALK.md | Walk certificate |
| docs/STUDIO.md | Rooms, themes, performance |
| FORK.md | Copy the loop. Swap the sport. |
| NOTICE | MIT is the code, not the names |
| SUPPORT.md | How to ask |
| SECURITY.md | How to report a hole |
| CONTRIBUTING.md | How to land a patch |
Update flow. git pull → npm install if the lockfile moved → npm run test:pin. Walk v1 is frozen. Mixer does not move.
Themes. Night arena (default) or light studio. Rail toggle. Reduced motion skips the ticker.
Stream-JSON. One object per line on stdout from npm run test:demo. Beats, then a walk, then a result.
GitHub Action. .github/workflows/pin.yml runs test:pin and test:vl on every push.
Talk happens in GitHub Discussions.
| Category | Use it for |
|---|---|
| Q&A | Setup, Save / Copy / Open, “how do I” |
| Ideas | Proposals before any PR |
| Show and tell | Forks, other sports, stills |
| Announcements | Releases from the maintainers |
Bugs belong in issues. Security reports follow SECURITY.md, never a public thread.
You are welcome. Read CONTRIBUTING.md, run npm run test:pin, open a focused pull request.
Do not retune the mixer. Do not paste league marks. Leave public/__grok/ in place.
MIT. Invite the rip — FORK.md.
Read NOTICE before you ship a fork with names on it. Plates, initials, and house crests are mitigations. They are not a license.
Built with Grok. Leave public/__grok/ in place.



