Scan Scoresheets with AI
Enter game results and player stats by photographing the paper scoresheet from your phone. Staty’s AI reads the sheet, fills in the numbers, and shows a confidence score on every line so you can review and correct anything before it posts.
Supported sports: basketball and pickleball. For other sports, enter results from the division’s Games page as usual.
Print Blank Scoresheets
Start the paper loop by printing each division’s blank scoresheet before game day:
- Open Structure in the sidebar and click a division’s open-page arrow to go to its division page
- Click Download Scoresheet (top-right) and pick a layout
- Print the PDF and hand it out — after the games, photograph the filled-in sheets to scan them back in (below)
The download is a one-page PDF pre-filled with the division’s teams and matchups, matching the games that Auto-Populate Games creates, so the sheet and the schedule always agree. The layout options follow the division’s format:
- Round Robin — two layouts: Standard (sample layout) or Alternative (cross-table)
- Round Robin + Playoffs, Pool Play, Pool Play + Playoffs, Bracket, Playoffs, Playoffs + Consolation — one layout each; the consolation sheet includes the consolation bracket page
Repeat per division — each division downloads its own sheet. (Basketball organizations also get a per-team scoresheet download with a preview, since basketball scans use one sheet per team.)
Find games that need results
- Open the Admin dashboard
- In the sidebar under League Management, click Game Results
This page lists every game that still needs a result, split into Past Games, Today’s Games, and Upcoming Games, then grouped by tournament (for contests), league / division, and date. Each game is flagged when it’s Missing teams or Missing location, so you can fix scheduling gaps before game day.
The same tools are also available on each division’s own admin page (Structure → open a division): a Scan Scoresheet button in the header and an Enter Results card listing that division’s unscored games with the same scan / manual-entry controls.
Basketball — one sheet per team
A basketball game uses two scoresheets, one per team, so each game is scanned with two photos.
- On a game row, click Input Scores
- For each team, tap Take / upload photo and photograph that team’s sheet
- The AI reads the sheet and fills in a review table:
- Player and number, matched to your existing roster by jersey number where possible (or marked as a new player)
- The stat columns your division tracks (
config.gameStats— e.g. points, rebounds, assists), filled where the sheet has them - A confidence badge per player (High → Low)
- The team score
- Edit any value, reassign a matched player, or Add player for anyone missing
- Click Submit results
Staty saves the final score to the game and each player’s line to their per-game stats.
Pickleball — one sheet per division
A pickleball round-robin uses a single scoresheet for the whole division, so all of that division’s games are entered from one photo.
- On a division heading, click Scan Scoresheet
- Take one photo of the division round-robin sheet
- The AI reads each matchup’s score and builds a review table of every game — round, both teams, and each score — with a confidence badge per game
- Edit scores or reassign teams as needed
- Click Submit all results to save every game at once
Prefer to key in a single game? Each pickleball game row also has an inline Home – Away score box with a Save button, so you can enter one game’s score manually without scanning the whole sheet.
AI transcription of handwriting isn’t perfect — always glance at the confidence column and spot-check low-confidence lines before submitting. The review step exists precisely so nothing posts without your sign-off.