27024910968e523f81145dfae4dff62a555f3500
- Setup: nominate judges, copy personal links, QR codes (generated on demand in the browser), revoke/restore, and an open-link toggle. - GET /api/judge/[token] returns only that judge's own scores; PUT .../scores runs every check from ARCHITECTURE.md in checkJudgeWrite (pure, unit-tested) after one parallel lookup, plus a rate limit. - /j/[token]: mobile cards per team, spotlight pinned first, autosave with per-card status, read-only when locked/done, link-off when revoked. - /jo/[token]: name form -> personal link, remembered in localStorage so a re-scan doesn't create a second judge. - Control room: averages with on-request overrides, judge progress matrix, per-judge breakdown, spotlight select and lock toggle. - usePendingEdits shares the optimistic autosave logic between the admin grid and the judge page. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Game Night Live — build pack
A spec pack for Claude Code. It builds a live scoring app for youth game nights: an admin control room, a projector scoreboard, and per-game judge links.
What's in here
| File | What it's for |
|---|---|
CLAUDE.md |
Rules Claude Code reads automatically every session |
docs/KICKOFF_PROMPT.md |
The first message you paste into Claude Code |
docs/PRD.md |
Features, roles, user flows |
docs/ARCHITECTURE.md |
Stack, routes, realtime, security model |
docs/DATA_MODEL.md |
Tables explained |
docs/SCORING.md |
Exact scoring math (judges, averages, placement points, bonuses) |
docs/UI.md |
Screens + design direction |
docs/BUILD_PLAN.md |
Phased tasks with acceptance criteria |
supabase/migrations/0001_init.sql |
Starting schema + RLS |
.env.example |
Env vars you'll need |
Setup (≈15 min, before you open Claude Code)
- Supabase — create a free project at supabase.com.
- Settings → API: copy the Project URL, anon key, and service_role key.
- Authentication → Providers: make sure Email is on (magic link is fine).
- Vercel — free account, connect GitHub (for deploy at the end).
- Node — install current LTS. Check with
node -v. - Unzip this folder somewhere,
git init, open it in WebStorm. - Copy
.env.example→.env.localand paste in your Supabase values + your admin email.
Running Claude Code in WebStorm
- Install the Claude Code plugin from JetBrains Marketplace (or just run
claudein WebStorm's terminal from the project root). - Open
docs/KICKOFF_PROMPT.md, paste its contents into Claude Code. - Let it go phase by phase. After each phase: run it, click around, commit, then say "next phase".
Tips
- Keep
docs/as the source of truth. If you change your mind on a feature, edit the doc first, then tell Claude Code "I updated PRD.md section X, implement it". - Test the scoreboard on the actual projector PC + one judge on a phone before game night. Wi-Fi at church is the #1 thing that'll bite you.
Languages
TypeScript
93.5%
PLpgSQL
4.3%
JavaScript
1.6%
CSS
0.6%