Before judgesroom.com, judging meant paper rubrics, sticky notes, and hours of sorting through documents. Paper workflows are time‑consuming and hard to organize; determining award winners is tedious and error‑prone. After the event, piles of confidential judging materials must be destroyed securely.
By digitizing the judging steps (interviews, rubrics, nominations, rankings), judgesroom.com streamlines the process, reduces errors, and keeps materials confidential. Judges can share the same Judges' Room across multiple devices, making collaboration faster and easier.
judgesroom.com is an open source project and fully compliant with the RECF/VEX "Guide To Judging." The system is designed to support Judge Advisors and Judges through the process while preserving confidentiality and helping prevent errors. Event Partners may self‑host the application to have full control over the system. A local self‑hosting guide (Bun + Wrangler) is provided below.
This system is aligned with the RECF/VEX “Guide To Judging,” mapping app features directly to each judging activity in a typical event.
- Go to
https://judgesroom.com/app - Paste the Judges' Room invite link to join, or start a new event
- Follow the on‑screen steps: Event Setup → Role Selection → Workspace
You can always return to the same room from the saved permit on your device.
Prerequisites:
- Bun
- Node.js (required by Wrangler)
Steps:
- Install workspaces
# From repo root
bun install- Build the web app for production
cd web && bun run buildThis produces static assets in web/build (SvelteKit adapter-static).
- Run the Worker locally in production mode (serves
web/build)
cd ../worker && bunx wrangler dev --env productionNotes:
- The Worker will serve static assets from
../web/buildperwrangler.jsoncwhen using--env production(or--env beta). - Default local port is http://localhost:8787
- Keep the terminal open while running. Press Ctrl+C to stop.
Optional: Deploy to Cloudflare (production)
cd worker && bun run deployOptional: Update database schema (Drizzle ORM)
# Generate migrations from schema changes
cd worker && bun run db:generateSelf‑hosting responsibilities:
- You are responsible for privacy, security, and compliance when self‑hosting.
- The hosted privacy policy applies only to
judgesroom.com. Follow the confidentiality practices in the Guide To Judging (e.g., secure access, destroy materials post‑event).
- Confidentiality: Deliberation notes, rankings, and materials stay inside the Judges' Room; easy to delete at event end.
- Award types: Supports Performance, Judged (Excellence, Design, Innovate, Judges Award, etc.), and Volunteer Nominated (Sportsmanship, Energy) workflows. Event Partners can add custom awards to the system if needed.
- Deliberations: Nominate (AD2), follow‑up (AD3), review reports (AD4), finalize rankings with alternates (AD5), enter winners in TM (AD6), collect and destroy materials (AD7).
- Excellence award guardrails: Helps avoid duplicate judged awards and cascades rankings when winners change.
bun installcd web && bun run dev
cd worker && bun run devwrpc: Bidirectional, type‑safe WebSocket RPCworker: Cloudflare Worker with Durable Object for connection/state; serves static assets in productionweb: SvelteKit UI built to static site; connects to Worker via HTTP/WebSocketprotocol: Zod schemas and shared types
Key configs: worker/wrangler.jsonc, worker/drizzle.config.ts
See https://judgesroom.com/privacy for more details.






