🔔 All submissions approved — ready to Commit This Week's Scores
▸ 🎯 Season Actions ?
▸ 🥌 This Week's Games
▸ 🤖 AI Scoreboard Reads
Reads run automatically in the background as scoreboard photos come in. Separate from approving a score — nothing here touches the live draw, TV boards, or standings. Approved reads feed the End-by-End awards in End of Year Stats once there's enough approved data.
Pulls every award category the season data supports right now. Anything still waiting on data this app doesn't collect yet (end-by-end scores, per-player check-ins, etc.) shows as Data Pending instead of being left out, so nothing needs rebuilding once that data exists.
▸ 🎲 Random Teams Generator
Shuffles every Active player (any team, or none — not OoL Spares) into teams of 4 using an unbiased Fisher-Yates shuffle — every player has an equal chance of landing anywhere, then the shuffled list is sliced into groups of 4 in order. No team names, tiers, or skill considered — good for a season-opening ice-breaker night. Generate, adjust anyone who needs moving or benching, then Publish sends it to the TV and emails the league address a matching PDF + readable summary — handy on the ice when someone asks what sheet they're on.
▸ 🔐 Super Admin
▸ 🎨 Branding
▸ ⚙️ CONFIG Editor
▸ 🗂️ Rosters (Teams, Players, Coaches)
👥 Teams
+ Add Team
👤 Players
+ Add Player
🏅 Coaches
+ Add Coach
▸ 📦 Exports & Backups
📄 CSV Exports
CSV exports email to CONFIG!C41 (Failed Login Alert address). Nothing here changes the live sheet.
📋 Full Spreadsheet Backup
Makes a complete, timestamped copy of the entire spreadsheet — every tab, formula, and formatting, not just data — saved to a "Backups" folder in Drive next to the live sheet.
▸ 🔄 Draw & Season Resets
🔄 Clear Current Draw
Clears the SCHEDULE tab and resets the draw number so you can regenerate. HISTORY and TEAMS are not affected. Use this for testing or to redo the current draw.
🏁 Wrap Up Season
Normally you'll do this from the "is this the last draw?" checkbox when you Record Completed Draw. Use this button instead only if you forgot to check that box, or need to end the season early.
🧹 Season Stats Reset (Keep Tiers)
For the Season 1 → Season 2 boundary: clears this season's schedule, submissions, spares, history, and forum posts for a clean stats slate — without touching each team's Current Tier. Use this once tier placements for the new season are set (including any new teams) and you're ready to zero out the stats everyone starts Season 2 with.
⚠️ Danger Zone
Permanently clears all draw data for the current season — schedule, submissions, spares, history, and forum posts. Teams and Players are preserved. This cannot be undone.
Type RESET below to permanently clear all draw data for the current season. This cannot be undone.
Final Confirmation
Type RESET STATS below to permanently clear this season's schedule, submissions, spares, history, and forum posts. Team tier placements will NOT be touched. This cannot be undone.
Running a Season, Draw by Draw
×
Every week, once games are done: click Commit This Week's Scores after scores are approved. The TV boards already show approved scores live as they come in — this step is what checks the week off, refreshes the season standings, and advances to next week.
Only one button is ever lit at a time — whichever one is next. That's deliberate: it's always unambiguous which step comes next, and nothing else can be clicked out of order.
1. Record Completed Draw — lights up once the final week gets updated. Archives the draw into History.
2. Suggest Tiers — lights up next. Reads the standings that draw just produced, suggests promotion/relegation, and re-splits Group 1/2 once you save.
3. Generate Draw Schedule — lights up last. Builds the next draw's full schedule from the tiers/groups you just confirmed, and hands control back to Commit This Week's Scores for the new draw.
Send Spare Reminder Now lives in the Open Spare Vacancies drawer — works any time there are open vacancies for tonight, a manual version of the automatic 90/30-minute reminders.
Generate Draw Schedule
×
Draw lengths vary through the season — confirm these before generating.
All checked by default. Uncheck a sheet to exclude it (e.g. for maintenance).
Blackout dates on record:
Suggest Tiers
×
Run this right after Record Completed Draw, before Generate Draw Schedule — standings reset once
the next draw's schedule is built. Moves the top/bottom 1 team(s)
of each tier by points, then diff. Override anything below before saving.
No games have been played yet — every team is still tied, so nothing is suggested to move. This is expected for an opening round robin.
Season Setup
×
Optional — confirms the settings a new season (or a re-tiering between draws) depends on, so nothing's
left assumed in a spreadsheet cell nobody remembers to check. Everything below is pre-filled from what's
already set; change only what needs to change, or just close this and go straight to Suggest Tiers.
How many tiers, and what to call them — fewer for a smaller season, more for a bigger one.
These three feed "Populate Season Calendar" below — save them here first if any changed.
Known blackout dates this season:
Managed in the Blackout Dates drawer, not here — this is a read-only reminder of what's already on record.
Populate season calendar
Adds a "Scheduled" CALENDAR row for every league night between Season Start and Season End that doesn't
already have one — safe to run more than once, never touches or removes an existing row (a date you've
already marked Blackout stays exactly as it is). Save the three fields above first if you just changed them.