Skip to content

Yoyo's Amazing Bingo — Event Day Guide

Pre-Event Setup

1. Seed the Database

Run this once before the event to initialise all teams & activities. This nukes all existing data. The teams are defined manually in src/db/data/teamsData.ts, edit that file to match the teams attending the event before seeding.

pnpm db:seed

This creates activities with dummy placeholder data. Names, descriptions, and answer codes are all auto-generated and must be updated before the event.

2. Update Dummy Data with Real Event Data

After seeding, all activity names, descriptions and answer codes will be placeholders. Update these to match the actual event clues directly in Neon. Special Activity numbers of each team can also be updated if you want to prescribe specific clues to be worth a bonus point for a specific team

Activity descriptions specifically can also be updated via the Activity Editor on the admin page (/admin) as an alternative to editing Neon directly.

3. Retrieve Team Login Codes

After seeding, open Drizzle Studio to view team codes:

pnpm db:view

Navigate to the teams table. The code column is what teams enter on the login screen. Distribute these to the respective teams before the event starts.

4. Retrieve Activity Answer Codes

In Drizzle Studio, open the activities table. The code column is the 6-character answer code teams must enter to complete each activity. These are what you give to facilitators or place at activity stations if needed.


Admin Page (/admin)

Navigate to the app root (/) and enter the ADMIN_CODE value from the environment config. You will be redirected to /admin.

Game Status

Use the Game Status dropdown to control the game state:

Status Effect
running Game is live
yoyover Game concluded. Let teams know to return
finished Play credits

Resetting Team Progress

If a team needs to be reset (e.g. an error during play):

Via the admin UI:

  1. Go to /admin

  2. Use the Reset Progression panel — check individual teams or "Select All"

  3. Confirm in the dialog

Via CLI:

pnpm db:reset                        # Reset all teams (prompts for confirmation)
pnpm db:reset <teamId1> <teamId2>    # Reset specific teams by ID

Leaderboard

A link to /leaderboard is available from the admin page. As admin you see all teams ranked. Regular team logins only see teams ranked 6th and below.

Activity Editor

Select an activity from the dropdown and edit its description using the markdown editor. Changes are saved to the database and should propagate to all clients in real time.


Scoring

Points are calculated as follows:

  • Each completed activity awards its basePoints (1 pt by default — editable per activity in Neon)
  • Each team has one special activity — completing it awards basePoints + 1
  • Completing a full row, column, or diagonal on the 4×4 board awards +1 pt each (max +10: 4 rows + 4 columns + 2 diagonals)

Troubleshooting

Admin Activity Editor Displaying Incorrectly

Refreshing the page usually fixes this

Teams not seeing updates in real time

The WebSocket connection may have dropped. Teams can hard-refresh their browser to re-establish the connection.

Team entered correct code but it didn't work

Codes are case-sensitive and exactly 6 characters. Confirm the code from the activities table in Drizzle Studio matches what the team is entering.