A word-guessing race for Discord voice channels. Everyone gets the same hidden word; green/yellow tiles tell you how close you are. First to solve takes the podium while everyone else watches your board fill up in real time. Wordle meets a party game meets a race.
| Mode | Vibe | Rules |
|---|---|---|
| 🏎️ Speed | adrenaline | 60s clock, unlimited guesses, wrong guesses cost time. 1st=100 · 2nd=75 · 3rd=50 · 4th=30 · other solvers=10 |
| 🧠 Fewest Guesses | strategy | Max 8 guesses, 90s. Fewest wins; ties break by time |
| ⚡ Blitz | chaos | 30 seconds, 5 guesses, every wrong guess burns 3s |
Plus: live leaderboard during rounds, dramatic results podiums, match XP and seasonal ranks (Bronze → Silver → Gold → Platinum → Diamond → Word Master).
- Client: Vite + React + TypeScript, hand-rolled colorful UI, synthesized WebAudio SFX,
@discord/embedded-app-sdkwhen running inside Discord (Guest Mode in any browser otherwise) - Server: Cloudflare Worker serving static assets +
/api/*+ WebSockets; all state in SQLite-backed Durable Objects (GameRoomper room,LobbyBroker,ProfileStore) - Strict real words: server-authoritative dictionary validation — fake words are rejected; answers come from frequency-ranked common-word pools built from openly licensed corpora (details). The client never sees the hidden word until reveal.
Nothing on your machine but Docker:
cp example.env .env # optional — the game runs fine empty (Guest Mode)
docker compose up --build- App: http://localhost:8787
- The compose logs print a
https://…trycloudflare.comURL → use it in the Discord portal to launch the Activity (portal setup)
Open two+ browser tabs to create a room / join by code and play a full match.
Node 22+ works too (npm install && npm run dev) — Docker just keeps your
host clean.
| Command | What it does |
|---|---|
npm run dev |
client build watch + wrangler dev on :8787 |
npm test |
unit tests (contracts, scoring, feedback) |
npm run test:integration |
Durable Object integration tests |
npm run e2e |
headless 4-player full-match driver against a running dev server |
npm run words:build / words:validate |
regenerate / verify word data |
npm run deploy |
wrangler deploy (set secrets first) |
shared/ protocol + scoring + feedback contracts (used by both sides)
worker/ Cloudflare Worker + Durable Objects (game authority)
client/ React app (screens, components, sfx, discord bootstrap)
assets→client/public/data/wordpack/ generated word lists
scripts/ wordpack builder, e2e driver
tests/ vitest unit + DO integration suites
docs/ architecture, portal setup, ideas, licensing
See docs/ARCHITECTURE.md for the design deep-dive.
All code, UI, sounds, and branding here are original. Word data comes from MIT/public-domain corpora only — never scraped from commercial games (sources). "Wordle" is a New York Times trademark and appears nowhere in this project; before publicly launching the name "WordRush", do a trademark search for your jurisdiction (advisory, not legal advice).