Command center
Health, live play, what needs you and what just happened
Not loaded
Live now
Loading…
Needs attention
Loading…
Activity
Loading…
Last 30 days
Loading…
Totals today, 30 days and all time
Loading…
Database
the only thing that grows is the events table
Loading…
Key numbers vs the period before
Loading…
Per day
bars: each day · line: 7-day average · UTC
PER DAY
When games start
weekday × hour · darker = more games started · this decides when Party Night runs
GAMES STARTED · WEEKDAY × HOUR
Funnel distinct browser sessions in the period
VISIT → ROOM → PHONE JOINED → STARTED → FINISHED → RATED
Where visits come from
utm_source, else the referring site, else direct · "played" = went on to finish a game
Where visitors are
country code from the visit · recorded on visits since 2.9 · "played" = went on to finish a game
Songly Daily
plays of the five-song daily · challenge links sent → opened → played
Feedback per week feedback + bug reports · last 8 weeks
FEEDBACK PER WEEK
Traffic
bars: visitors (host tabs) · line: players (phones) · UTC · hover for the numbers
VISITORS AND PLAYERS PER DAY
Loading…
BY HOUR OF THE DAY · LAST 14 DAYS · DARKER = BUSIER
Games per day
line: 7-day average · faint bars: each day · UTC · hover for the numbers
GAMES PER DAY
Loading…
TOTAL GAMES · EVERY 100 MARKED
Plan a night
times are entered in your local time · themes stay secret until each game goes live
Nights click a row to edit · 🔔 = reminder sign-ups
Theme wishlist approve onto a night (becomes that game, label = the request; set the pack in the editor) or decline
Autopilot how a night runs without you
You don't host. A robot does. About 90 minutes before any planned night, Supabase (pg_cron, every 5 min) starts the
party-autopilot.yml GitHub job: it sends the reminders, then 15 minutes before it opens the host page in a headless Chrome and lets it run the whole night — room listed, music on the phones, every game back to back, night marked done. GitHub's own schedule ran 2–4 hours late every week, so it is only a backup now.
Checking the robot…
The calendar fills itself. Every hour
/api/party-schedule makes sure next Friday 19:00 UTC has a night: three games of 20 / 30 / 40 songs, packs picked from the themed packs (in-season first, last weeks' packs last, nothing out of season). Edit a night here to change its packs; cancel one to skip that week — a slot with any night on it, cancelled included, is left alone. Add Saturday with PARTY_SLOTS="fri 19:00, sat 23:00" on Vercel; PARTY_AUTOSCHEDULE_DISABLED=1 stops it.Needs once: the
PARTY_TOKEN secret on GitHub and the same value as an env on Vercel. Rehearse any time from Actions → Party autopilot → Run workflow (a Vercel preview URL works as the site).Live now 0
games in progress · public lobbies · refreshes every 30 s
Loading…
Online now 0
sessions active in the last 5 min · screen · country
Loading…
Recent games
latest 30 · newest first
Loading…
Packs
games · players · highest score · who
Quizzes 0
Loading…
Quiz builder — how's it going?
👍 👌 🤔 from the My quizzes card · notes land in 🧾 Reports
Loading…
All quizzes
click a row for songs, owner & plays
Loading…
Users 0
click a row for details & actions
Loading…
User feedback 0
✕ to dismiss · latest 15
Loading…
Reported comments 0
auto-hidden at 2 reports · ✓ restore · ✕ delete
Reports 0
count = open · click a row to triage · the reporter sees the status and your public note
Loading…
Client errors 0
click a row for the stack trace · 🚩 flag for next release · ✕ dismiss — recurring errors come back
Loading…