A live, multiplayer-flavored spin-off of Dispatch Rush for a gathering. It adds three things on top of the original game (which is left completely untouched):
- Name gate — players type their name before they can start dispatching.
- "Playing now" — a live list of who's currently on the board.
- Hall of Fame — a shared leaderboard of top scores.
It's a static site (HTML/CSS/JS) — deploy it to GitHub Pages like the main game. The tiny bit of shared state (leaderboard + live presence) runs on a free Supabase project.
Open index.html and it just works. With no backend configured it runs in
Local mode: the leaderboard and presence are stored in your browser only
(great for a quick look, but not shared across devices).
To make it a real shared board for your gathering, do the 2-minute setup below.
Supabase's free tier needs no credit card, so it can never bill you — at the limit it simply pauses instead of charging. Perfect for a temporary event.
-
Create a project
- Go to https://supabase.com → sign in with GitHub → New project.
- Pick any name/region, set a database password (you won't need it), create.
-
Create the table + rules
- Open SQL Editor → New query.
- Paste the contents of
supabase-setup.sql→ Run.
-
Copy your keys
- Project Settings → API.
- Copy the Project URL and the anon public key.
-
Paste them into
config.jswindow.ARENA_CONFIG = { SUPABASE_URL: "https://YOURPROJECT.supabase.co", SUPABASE_ANON_KEY: "eyJ...your anon key...", EVENT_NAME: "Dispatch Rush · Arena", EVENT_CODE: "", // optional: a word players must type to post a score LEADERBOARD_SIZE: 25, };
-
Deploy (see below) and share the link. Done.
The anon key is meant to be public — it's safe in client-side code. What protects your data is Row-Level Security (already set up by the SQL): visitors can only read scores and insert their own; they can't edit, delete, or write out-of-range junk.
This folder is self-contained. Push these files to the repo root of a GitHub Pages site:
index.html hall-of-fame.html
arena.js config.js
supabase-setup.sql .nojekyll
Then Settings → Pages → Source: main / root. Your site is at
https://<user-or-org>.github.io/<repo>/.
- No credit card on the free tier ⇒ $0 guaranteed; it pauses, never bills.
- RLS blocks edits/deletes and re-validates every insert server-side.
- Names are length-capped (24) and stripped of control characters.
- Optional
EVENT_CODEadds a soft gate so only your crowd can post scores. - Nothing here is used for hiring — it's just for fun at the gathering.
| File | Purpose |
|---|---|
index.html |
The game + name gate + live presence + score submit |
hall-of-fame.html |
Live "playing now" list + leaderboard |
arena.js |
Shared backend helpers (Supabase with local fallback) |
config.js |
Your Supabase URL + anon key + branding |
supabase-setup.sql |
One-time table + security setup |