Operator console (hidden from normal viewers). Type a number per player — prices update live and save in this browser. Hit Download to bake them into a fresh page to share; that shared file is a fixed snapshot.
Operator log
Sep 17 · top 8The card is now the top 8 confirmed starters as straight 1u singles, plus a 🍱 lunch special and a 🌃 nightcap, ranked by the new scorer model (team goals expected × share of team xG × minutes) blended with the price. Anchors and screamers are retired. The season tracker is restated: every night since Aug 27 re-run under this system at the prices that night; the record the old board actually posted is kept in the repo.
Aug 26 · live resultsThe board now re-reads the results feed every three minutes. Goals, goal minutes, red cards and full time settle themselves on the card, and the tickets tab grades tonight as they land. What it deliberately does not do: it does not re-draft (the draft engine is still Python-side), it does not run a second grader, and it never infers full time from a clock — only the feed writes a final. Anything it cannot match to a board name is left alone rather than guessed at.
Aug 26 · team newsConfirmed line-ups are wired. The draft now runs off the published XI, so a name on a slip started the match. Today’s slate was thin enough that four anchors would not fit the pool, so it drafted the largest count that did — one — rather than padding the card with names the gate rejected.
Aug 24 · forkThe soccer room is a seam-for-seam fork of the baseball board, not a rewrite — same layout, same card anatomy, same draft engine. What is not carried over is said so out loud: the Builder’s letter grade is off until there are graded soccer nights to fit it on.