Wildlight Athletics · Option B · admin screen

Elsa's batch entry, 5:15 PM

One page, one screen, keyboard-and-dropdown only — built to be the same shape as the paper roster so Elsa reads straight down the clipboard. Every field is a dropdown of the Tick-and-Tag codes; nothing is free typing except the PB number and the coach's one-line note. Try it: change a few rows and watch the counter and the publish bar.

SESSION ENTRY
{{ headerLine }}
Trial rotation mode — these S/C/N codes plus the student's ranking & confidence survey feed suggest_placement() for season placement.
SHEET CODES [S] skill [C] character [F] fitness One shared roster sheet per group — no per-child sheets, no stickers
{{ statusText }}
ATHLETE
PRESENT
[S] SKILL MILESTONE
LEVEL
[C] CHARACTER
LEVEL
[F] FITNESS
RESULT
{{ r.name }}{{ r.slug }}
PB
{{ countLabel }}
{{ pbLabel }}
{{ toastText }}
Why it beats the sheet
No sync step, no second copy of the truth, no broken formula when a header gets renamed. Publish writes straight to the passports.
Backups stay easy
"Export CSV backup" dumps the session — or the whole season — whenever David wants a printable copy, with no spreadsheet in the live path.
PBs are automatic
Elsa types the number; the system compares it to that child's record and fires the badge stamp only when it's actually a personal best.

Sitting next to this: the passport prototype (kid, parent, PIN, install) and the roster & link generator. Still open: the Supabase table schema, the coach encouragement feed and the growth journal.