StatChat

StatChat — how to use it

Live high-school football stat tracking. Built for one person entering plays from the sideline or the press box.

New to StatChat? Start with Tips for your first game. It is a twenty-minute read covering the handful of things that trip up a new scorer. This page is the full reference — better once you have a game or two behind you, or when you need the detail on one particular thing.
Would rather watch it? The StatChat channel on YouTube. Short how-to videos covering the same ground as this page — setting a game up, entering plays, fixing a mistake, getting the broadcast overlays on screen.

1. Before the first game

The sample games

Every new school starts with two games already on its dashboard. They are there so your first screen is not empty, so every report has something to show and every button has something to do.

GameWhat it is
SAMPLE FINAL A completed game, the earlier of the two. Its recap, score summary and stat package are all readable from the moment you sign in.
SAMPLE The same fixture still in progress, sitting at halftime. This is the one to practise on.

Both teams in them are invented. It is not your school playing anybody, and nothing in either is a record of anything — they exist to be practised on and looked at.

The finished one answers the question people ask first: what do I actually get out of this? Open its menu and read the Game recap, the Stat package and the Score summary. Those three only exist once a game is final, so before there was a finished sample there was nothing on a new dashboard that could show them to you.

The part-played one is where you practise. Finish it: start the second half, run a drive or two, mark the quarter, then end the game. That takes you through the guided kickoff, ordinary play entry, the clock and the ball spot — and leaves you with a second finished game you scored yourself. Worth the ten minutes before a real Friday.

Both are the same fixture. Same two teams, same opponent, and the finished one is dated the Friday before. That is deliberate, not a duplicate: one shows you the finished article, the other hands you the controls.
They count towards nothing. Both samples are marked PRESEASON, so whatever you enter into them stays out of your season report, your player reports and your win-loss record — including after you finish one. Score them however you like; you cannot spoil your season with them.

This is also why your season report says it has no finalized games while the samples are the only games you have. Nothing is broken: a preseason game is deliberately not a season game. The single-game reports on the finished sample work exactly as they will on a real one.
Delete them when you are done. Open the menu at the right-hand end of each row, choose Delete game, and confirm. You will be asked to type the game's name — SAMPLE or SAMPLE FINAL — to confirm. They are practice games, not part of your season, and they should not still be sitting in your list once you are scoring real ones. Nothing is lost by deleting them.
Do not use Reset game on either sample. Reset does not restore a game — it deletes every play in it and leaves it empty, which for a sample means losing the football that makes it useful. It cannot be undone, and there is no way to get a sample back once it is emptied or deleted. Make your own preseason practice game instead.
They do not count as your first game. The Getting started card on your dashboard still asks you to create one, because a sample is not a game you made. Once you do create your own, the card adds a reminder to delete the samples.

“See what you get”

Underneath Getting started, a new school also sees a short card listing the three things a finished game produces — the recap, the stat package and the score summary — each linking straight into the finished sample.

It is a tour, not a checklist: there is nothing on it to tick off. It goes away on its own the moment you create a game of your own, because from then on you have your own versions of all three and an example is just clutter.

Accounts and roles

Everyone signs in with an email and password. There are three roles:

Play entry needs a laptop, an iPad or a desktop. Open a game on a phone and you will get a notice saying so. You can continue anyway — it is a warning, not a lock — but the buttons stack into a column and the play panel drops below the fold, which is how a wrong number gets saved. Everything else works fine on a phone: the crew view, recaps and reports are all built for it.
RoleCan do
AdminEverything — create games, edit rosters, delete plays, reopen a finished game.
ScorerEnter plays and run games. Cannot delete games or change roles.
ViewWatch the live view and read reports.
Disabling an account. An admin can disable a user from the account page. They keep their role and their history but cannot sign in until they are enabled again — useful when someone leaves mid-season and you would rather not delete the record. You cannot disable your own account, for the obvious reason.

Your team roster

From the dashboard, open Team Roster. This is your own squad and carries over from game to game. For each player enter a jersey number, a name, and a position.

Positions matter. They decide which players appear in which picker during a game — quarterbacks in the passer list, backs and receivers in the carrier list, and so on. A two-way player can be entered as RB/LB or WR, DB and both are read — but only the first position decides which picker he appears in. See Positions, and what the app does with them below.

Uploading a roster from a spreadsheet

Both Team Roster and the opponent roster on New Game take an .xlsx or .xls file. Pressing the upload button shows a picture of the layout before it asks for the file: column A is the jersey number, column B the name, column C the position. A header row is ignored, and a player with no position is fine — he is offered in the broad pickers and kept out of the narrow ones (passer, kicker, punter) until he actually plays the role or you seed him there.

Two limits, and both refuse rather than trim. A file over 5MB, or a sheet with more than 200 player rows, is rejected and nothing is imported. A roster that size is almost always a whole-school export rather than one team — and a partial import that looks like it worked is worse than one that plainly did not, because the missing players only surface mid-game. The 200 counts readable player rows, so title blocks, blank lines and a header do not count against it.

What is read, and what is ignored

Only the first sheet of the workbook is read. Any other tab is ignored completely, so a file with Varsity and JV as separate tabs imports whichever one is first and gives no sign the other exists.

ColumnWhat it must hold
AThe jersey number, and digits only.
BThe name. Anything at all counts.
CThe position. Optional.
D onwardIgnored. Height, weight, class year and notes can stay in the file.

A row is read only when column A is digits and column B is not empty. Everything else is passed over: the header row, blank lines, a school name across the top, a Coaches block at the bottom.

A number that is not purely digits is skipped, and nothing says so. #4 is skipped. 12A is skipped. 4 (C) for a captain is skipped. These are the commonest reason an import comes up short, and because the rows are simply passed over like a header row, the only clue is that the count in the preview is lower than the squad. Read the number in the preview before you confirm — if it is short, look for a # in column A.
Leading zeros are kept. A cell holding 0012 imports as jersey 0012, not 12, and will not match 12 typed during a game. Format the column as plain numbers, not text, if a spreadsheet has padded them.
A blank name is not caught. A row with a number and an empty name column imports as a player with no name. It shows on the roster page as a blank row, where it is easy to delete — but only if you look.

Positions, and what the app does with them

The position is read as an abbreviation, upper or lower case. Wide Receiver spelled out is not understood — it reads as WIDE, which is not a position the app knows.

UnitAbbreviations the app knows
OffenseQB RB FB HB TB WR SE FL SLOT SB TE OL OT LT RT OG LG RG G T C ATHLETE ATH
DefenseDB CB S FS SS LB OLB ILB MLB WLB DE DT NG NT EDGE DL
Special teamsK PK P LS DS H KR PR RET ST
Only the first position counts, so the order matters. Two or three positions in one cell are fine, separated by anything you like — a slash, a comma, a semicolon, a hyphen, a dot or a space all work. But everything after the first is discarded. RB/LB files a player under offense; LB/RB files the same player under defense. Put the side of the ball he plays most first.

A position the app does not know, and a position left blank, are treated the same way and neither stops the import. The player is still on the roster and his number still works during a game; he is simply not filed under a unit yet, so he appears in the broad pickers and not the narrow ones. The game setup page lists these under needs assignment with a tag to apply.

Forcing a unit from the name column. A name ending in (O), (D) or (ST) puts that player on offense, defense or special teams whatever column C says, and the tag is stripped from the stored name. Macario Dade Jr (D) becomes Macario Dade Jr on defense. Case does not matter; any other tag is left alone as part of the name.

Two players wearing the same number

This is treated as a fact about the team rather than a mistake, and nothing is merged or dropped. Both players are imported and kept.

A two-way player is filed under one unit, and that is usually enough. The pickers are a convenience, not a gate — during a game you can type any number, on or off the roster, and the play records correctly against it. So a linebacker who also carries the ball does not need special handling to be scored properly; the picker just will not offer him in the carrier list until he has done it once.

Uploading the same file again

Re-uploading is safe and is the normal way to add players who arrived late. Anyone already on this season's roster is skipped, and the preview says how many before you confirm.

Matching is by name, and an existing player is skipped, not updated. Correct a number or a position in the spreadsheet and upload it again, and the correction does not arrive — the name is already there, so the row is skipped and the old values stay. Edit that player on the roster page instead.

Your roster and an opponent roster behave differently

The same file can succeed in one place and be refused in the other, and it is worth knowing which is which before a game night.

Team RosterOpponent roster on New Game
A row it cannot read Skipped quietly. The rest imports. The whole file is refused and every bad row is listed with the reason.
An unknown position Imported; the player needs a unit tag later. Refused, naming the position it did not recognize.
Number and name swapped Nothing imports, and it does say so: “No valid rows found. Expected column A = number, column B = name, column C = position.” Refused, saying column B looks like a number.
A compound position Stored whole, e.g. RB/LB, and reduced when the game is built. Reduced to RB at import.
The opponent importer is the stricter of the two on purpose: an opponent roster is typed from a programme minutes before kickoff and usually never looked at again, so a quiet skip there would go unnoticed all night. Your own roster is a list you can see and correct at leisure.

Rosters are kept per season

A Season picker sits at the top of the roster page. The current season is the only one you can change — add, edit, remove, upload, or clear. Pick an earlier season from the dropdown and everything on it becomes read-only: no controls at all, just the squad exactly as it was, kept for reference.

Nothing is ever deleted by moving to a new season. When it is time for a new year's squad, Clear this season's roster only ever touches the season you are currently looking at — last year's roster, and every year before it, stays exactly where it was, browsable any time from the same picker. A player who returns from one season to the next is entered fresh each year, and can carry a different number if it changed — nothing links the two seasons' entries together, so a number meaning someone else last year causes no confusion this year.

A game always uses the roster from its own season — reopening an old game to fix an unrelated detail pulls up that game's own historical squad, never whatever is loaded as current today.

Your team's look

Logos must be PNG, JPEG, WebP or SVG, and under 2MB. Anything else is refused the moment you choose it, with the reason shown beside the button rather than at the top of the page. Uploading a logo also sets your secondary color to white — change it afterwards if your crest needs something else.

Customize team sets your logo and colors. These appear on the banner, the live view and every report.

What makes a good logo file

The line under Choose file says it in five words — square, PNG, transparent background works best — and the same line sits under the opponent's logo on the game setup page. All three parts matter, and for the same reason: this one file gets drawn in a lot of places you are not looking at when you upload it.

WhyWhat happens otherwise
SquareThe dashboard chip, the loading icon, the crew-view team header and the printed recap all draw the logo in a square slot. A wide banner-shaped file is letterboxed into it and comes out small; a tall one is cropped.
PNGIt is the only one of the accepted formats that carries transparency and stays sharp at small sizes. A JPEG cannot be transparent at all, and shows compression fringing around a crest's edges at chip size.
Transparent backgroundThe app is dark and the printed reports are white, and the broadcast overlays are neither. A logo with a white box baked into it shows that box on every dark surface, and a logo with a dark box shows it on paper.

A crest that is genuinely dark artwork on a transparent background is a special case: the app puts a white plate behind those in a few places rather than letting them disappear into a dark card. That is a rescue, not the intended look — a logo that reads on both is better than one that needs the plate.

2. Setting up a game

Dashboard → + New game.

  1. Name and opponent. Give the game a designator you will recognise later — it is what you type to confirm a delete or reset.
  2. Opponent roster. Upload an .xlsx if you have one, or choose Skip roster and type numbers by hand during the game. A programme with just names and numbers is worth entering; positions are optional.
  3. Likely starters. Fill in QB, RB1, RB2, WR1, WR2, WR3 for the opponent if you know them.
  4. Opponent branding. Logo and colors, so the banner and reports look right. Same guidance as your own logo — square, PNG, transparent background — and for the same reason: the opponent crest is drawn in the same square slots by the same code. See What makes a good logo file above.
Likely starters are the single most useful field here. Anyone you name is guaranteed to appear in the pickers for the roles that slot plays — regardless of what position they were filed under, or whether they have a position at all. Without them, an opponent's first few plays mean typing numbers by hand.

Players you type in by hand during the game are added to the picker from then on, so a number never has to be typed twice.

Specify all game starters — for the broadcast only

Below the likely starters is a collapsed section marked BROADCAST ONLY. It holds your full starting lineups — eleven on offense, eleven on defense, four on special teams — and it exists for one reason: to drive the three starting-lineup overlays your production crew can put on air. See 15. Broadcasting for the addresses.

Nothing you type here affects anything else. Not play entry, not the player pickers, not a single statistic. It is stored in its own column and read only by the broadcast graphics. A coach who never opens it loses nothing, and the section stays collapsed until you open it.

It is entirely optional, and partial is fine — fill in four names or all twenty-six. An overlay draws nothing at all for a unit with no lineup, rather than an empty frame, so a card left in a switcher bank all season is simply blank until there is something to show.

Import last week’s lineup

Most weeks the lineup is last week’s lineup with a change or two. Import last week’s lineup, at the top of the section, finds the last game that had one saved and fills all twenty-six slots from it. Your team only — there is no opponent version, because last week’s opponent is not this week’s.

It shows you what it found before it fills anything in: which game it came from, and anything that changed since. Press Fill the lineup to accept it or Cancel to walk away. Nothing is saved until you save the game, the same as everything else on this screen.

It follows the player, not the jersey. A lineup is stored with names as well as numbers, so the import looks each boy up on your roster as it stands today and uses the number he wears now. If your quarterback wore 12 last season and wears 3 this season, the import puts 3 in the slot and tells you it did. Matching the saved number instead would put a real number on a real player in the right slot, and it would be the wrong boy — with nothing on screen to say so.

Three things get reported, and none of them happens quietly:

Two things it will not do. It will not run before your roster has loaded — it matches by name, and there is nothing to match against until the roster is in front of it. And it replaces rather than merges: if you have already typed slots in, the preview says how many it is about to clear, and you can cancel.

The sample game every new school starts with is skipped. It has a full lineup in it and it is the newest game a new school owns, so it would otherwise be the first thing offered — eleven players nobody on your team has ever met. Games dated after this one are skipped too: a game already entered for next Friday is not last week.

If nothing turns up, it says so plainly. A first-ever game has nothing to import — fill it in by hand and next week’s takes it from here.

Edit the lineup any time before or during the game, including on a game that already has plays recorded — officials change a lineup right up to kickoff. Clearing every slot removes the lineup entirely and the overlays go blank again.

Marking a game as preseason

Tick This is a preseason game for a scrimmage or anything else that should not count toward the year's numbers. Everything about the game works exactly as normal — you enter it, view it, and export its own recap and stat package the usual way. The only difference is that Season Report and Player Report skip it entirely, so a scrimmage never quietly shifts a season average.

The dashboard's game list shows a small PRESEASON tag on any game marked this way, so it stays easy to spot months later, long after the reason for excluding it has been forgotten.

If you change your roster after creating a game

A game keeps its own copy of your roster, taken when it was set up. That is deliberate — a finished game must not change because somebody edited a roster afterwards — but it means a position you correct later does not reach a game that already exists. The roster page will show the correction and the game will not, with nothing to say they disagree.

Edit the game and use Re-import roster from your team. It shows you exactly what would change before anything is saved — for example Bryce Ross (#1): offense → special — and you still press Save changes afterwards.

It only touches your roster, not the opponent's, and it refuses once the game has any plays recorded: moving a player's unit then would leave a statistic credited against a roster entry that no longer says the same thing.

Correcting a roster during the game

The wrong number for a player is usually noticed on a Friday, halfway through a quarter, after a play has already been credited to him. The Rosters button on the utility rail opens this game's own copy of both rosters, and an admin or a scorer can correct it there without leaving the game.

Nothing on that card removes anything. You can correct a player and you can add one; there is no delete. A player appears once, on one unit — adding a man who is already there is refused, and it tells you where he is.

It changes this game's copy only. Your master roster is untouched, so a game played last month and the season report cannot be disturbed by a correction made here. Fixing the master roster as well is a separate job on the roster page.

It tells you what it will do to plays already logged before you save. A play that names the player keeps its statistics wherever his number goes — but its wording is frozen at the moment it was saved, so it still reads the old number, and Edit players is how you reword it. A play that records only a bare number will follow the roster: if it says “#12” and nothing else, changing who wears 12 changes who gets the credit. The panel counts those separately and says so in plain words, and a correction that would actually move a statistic asks a second time before it saves.

Adding a player retroactively fixes plays already entered against his bare number, which is usually exactly why you are adding him — the panel says so.

3. Starting the game

Open the game from the dashboard and press Start game. The app walks you through the opening kickoff:

  1. Who kicks off? Pick the kicking team.
  2. Kicker, and which way they are kicking. The direction arrow sets up the field-position strip; it flips automatically each quarter after this.
  3. What happened. A return, a Touchback, or a Muffed / fumbled catch.
  4. Where the ball ended up, then the clock.

Then you are in normal play entry.

The kicker and the direction are both required. Save kickoff will not go through until you have picked each one, and it will tell you which is missing. The direction is not cosmetic: it is the only thing the app has to work out which way each team is going, and it alternates by quarter from this one answer, so a kickoff saved without it leaves every later play with nothing to reason from.
Direction wording. The question asks which way the kicking team is kicking, because that is how it looks from the sideline. The strip works it out from there.

4. Entering plays

A number that is not on the roster. Type it anyway — the play records correctly against the number. The confirm box then offers a name field and Add to roster: fill it in and the player is saved to this game, so he appears by name from then on, on the view page on any other device, and on the plays you have already entered for him. Only the log lines already written keep the bare number.

Every play follows the same three steps:

  1. Pick the play type — Rush, Pass, or one of the special-teams buttons.
  2. Fill in the panel that appears.
  3. Review play, check the sentence, then Save.

The Review step exists so you read back what will be stored before it is stored. It is worth the half-second.

Rush

Pick the ball carrier, enter yards (or use the calculator), then any of LOSS, Fumbled, Safety, Touchdown. Tackler is optional, and folded behind a + Tackled by button — tap it when you want it. Punts and kickoffs fold their returner the same way, behind + Returned by.

Pass

Same shape, with a passer and receiver. The extra outcome is Incomplete.

Along the top of the panel are three switches — Completed / incomplete, Sacked, Intercepted — which change the panel to suit. The one you are on stays gold with a tick, and you can move between them freely until you save, so picking the wrong one costs nothing.

On Intercepted there is a Downed in the end zone — touchback option: the defence takes over at their own 20, with no return to record.

The receiver is optional. If you did not catch the number on a deep ball, leave it blank — the completion, the yardage and the passer's line are all still right. The catch is credited to Unknown in the receiving table so the columns still add up: passing yards always equal the sum of receiving yards, which is the first thing anyone checks on a stat sheet.

Optional, but not silent: a completed pass with no receiver picks up NO RECEIVER SELECTED on the review card, above the sentence. It is a warning rather than a refusal — the entry saves exactly as described above if you go ahead. It exists because leaving the receiver blank is nearly always an oversight rather than a decision, and the review card is the last moment it costs nothing to fix. An incompletion is never flagged: there is no catch to credit, so a blank receiver there is only a missing target.

Two places ask harder, and only two.

On a Touchdown the Save button itself changes to read Save with NO RECEIVER. It still saves — you just have to press a button that says what it is about to do. A touchdown is the one catch where the number is never really unknown: the receiver is standing in the end zone holding the ball, the PA is announcing him, and the clock is stopped for the try. It is also where a blank costs the most, because it goes into the scoring summary and onto the public recap you send to local media.

On a Fumbled catch the receiver is required, and the save is refused until you pick one. That is not a judgement about how important the play is — a fumbled completion is stored under the receiver's own number, so without him there is no play to store at all. Before 3 September that entry failed with a bare Unrecognized entry and no explanation; now it tells you exactly what it needs. If you truly cannot identify him, your best judgement is better than losing the play: on a fumble you almost always know within a snap or two.

What is on the screen

The play-type ladder is a fixed column down the left. Whatever you pick opens beside it, always at the top of the frame, so the panel never moves depending on which button you pressed. With nothing open that space reads Make a selection to begin.

Either side of the entry card are two margins that do not scroll away:

Pressing Review play collapses the tree so only the confirm box is left, which saves scrolling back down a long panel to reach Save. Edit brings the tree back with everything you entered still in it. There is a Clear on the confirm box, and another on the top row beside Quarter marker — that one throws away whatever is open from wherever you are.

Pickers

Player buttons are ordered by who did it most recently, so the back who just carried is first next time. Type a number into the box if the player is not offered. On the longer lists — ball carrier, receiver, kicker, punter — that box sits at the end of the list rather than off to one side, so the names get the full width and take fewer rows.

If a number is shared by two players, you will be asked which one — that choice applies to that play only, so a mis-tap cannot rename the jersey for the rest of the game.

Typing a number opens a pop-up keypad

Tap any yardage or jersey-number box and a large number pad opens over the field, rather than the device's own keyboard. Type on it, or on a connected physical keyboard — either way updates the same box, so switching between them mid-entry never loses what you have already typed. A checkmark commits the number and closes the pad.

On an iPad or iPhone with no keyboard attached, this is the only way in — the system keyboard is deliberately suppressed on those fields, since fighting for space with the pop-up pad was worse than not having it at all. Add ?softkb=1 to the end of the page address to switch that field back to the ordinary keyboard instead, on that device, for that visit.

5. The yardage calculator

On the Rush, Pass, Sack and Punt panels you can enter the play two ways:

EitherOr
Enter yards — type the gain, tap LOSS if it went backwards. Or enter tackled on — pick a side of the field and a yard line. The app works out the gain.
  1. Tap the side of the field the play ended on. Your current side is already selected, so most plays need only a number.
  2. Type the yard line.
  3. The green bar shows the working: from own 25 to own 44 = +19.
Crossing midfield needs nothing special. Own 20 to the opponent's 20 is +60 — just tap the other team's side before typing the yard line.

On a punt the calculator reads Or enter downed/received on and gives you the punt distance. A touchback or a block turns it off — there is no landing spot to measure.

On a sack it reads Or enter sacked on, and the box beside it is Yards lost — so there is no LOSS button, because a sack is always a loss. If you enter a yard line ahead of where the ball was, the app refuses it and says so rather than recording a loss you did not mean. A quarterback dragged down on the line of scrimmage is fine: that is a sack for no gain.

A second spot for the return, on punts and kickoffs

Below the punt distance (and on the kickoff panel, where there is no distance to give), two more fields work the same way: Fielded at, then Returned to. Give both and the app fills in the return yards for you, and moves the takeover spot to match the return rather than the catch. Leave returned to blank and that is the answer for no return at all — a fair catch, a kick that was downed, nothing further to enter.

Fielded at defaults to the receiving team's side of the field, since that is where a kick almost always comes down. Tap the other side if a mishit kick landed short.

6. Field position and spots

The strip under the banner shows where the ball is, the line to gain, and which way the offense is going. Hide it with Hide if you want the room.

If the banner says SPOT NOT SET, the app does not know where the ball is and will refuse to record a scrimmage play. Use Adjust Down/Distance to set it. This is deliberate: without a spot, yardage cannot be tracked or checked.

Sides of the field

Everywhere you enter a spot you pick a side first. "Own 30" means 30 yards from the goal the offense is defending; "opp 30" means 30 yards from the one they are attacking. The buttons are labelled with the team names to keep it concrete.

If a spot is incomplete

Review play refuses a change of possession that has no spot, and says what is still needed — a side, a yard line, or both. A yard line typed with nobody's side beside it used to save quietly with no field position at all, which switched off every yardage check for the rest of the drive.

Change of possession

Any play that hands the ball over asks where the other team takes over — punts, interceptions, fumbles, missed field goals, muffed kicks. Fill it in, or field position is lost for the whole next drive.

On kickoffs and punts the spot is required. You must give both the side of the field and the yard line; Review will refuse the play and tell you which half is missing. This used to be optional, and a half-filled spot was thrown away silently — the kick saved, the ball had no position, and you only found out several plays later when the app refused a run. Two things need nothing from you: a touchback fills in the 20 for you, and a kick returned for a touchdown has no ensuing spot to give.

The spot nudge, after a change of possession

Once a play that hands the ball over is saved, a short amber card takes the place of the confirm box, headed NEW DRIVE SPOTTED AT. It states the resulting situation in football rather than in coordinates — Red Stick ball, 1st & 10 at Bayou Gators 40 — so a wrong spot reads as a wrong sentence.

It asks nothing and blocks nothing. If the sentence is right, start the next play; the line beneath it says starting the next play accepts this spot, and it costs no tap at all. Dismiss closes it early if it is in your way.

If it is wrong, there are three ways to fix it, and they are all on the card:

ControlFor
−1 +1A yard or two either way — the usual correction.
The two team buttonsThe spot is on the wrong side of the 50.
The yard boxThe spot is simply somewhere else.

Then Adjust spot. It goes through the same path as Adjust Down/Distance — a marker, the confirm card, a save — so there is one implementation rather than two, and nudging a spot twice is as safe as nudging it once.

The side buttons carry team names rather than “own” and “opp”. Which side of the 50 a spot is on is the thing scorers transpose, and the two words that describe it both mean “a 40-yard line”. Two school names do not.

It appears on a new drive — possession actually changing hands — and not on a new series for the same team, such as a muff the kicking team's opponents recover themselves. That is the same distinction the play log's own New drive and New series wording draws. An adjustment made from the nudge is not itself counted as a drive, so it cannot leave a phantom drive in the reports.

If the window is still sitting deep in a long tree when the play saves, the page scrolls the nudge into view. A nudge nobody sees is worse than no nudge — the whole point is to catch a spot in the seconds before the next snap.

7. The clock

You are asked for the clock when a possession starts or ends. It is what drives time of possession.

Type thisMeans
9:479 minutes 47 seconds
947the same — the last two digits are always the seconds
044 seconds
4004 minutes
A single digit like 4 is rejected, because it could mean four seconds or four minutes and guessing wrong would corrupt time of possession. The app tells you both ways to write it.

On a scoring drive the clock is asked at the touchdown, not at the try. Enter it when the ball crosses the line, and again at the kickoff. That way the drive's time of possession is the time the DRIVE took, rather than the drive plus the PAT.

Every box that asks for a clock shows the last value you entered beside it, with the quarter it belonged to — for example Last entered 8:42 (Q2). The same line, in the same shape, sits on the main game screen too, on the row above the play buttons — so the last clock is visible even when no clock box happens to be open. If that quarter is not the one you are in now, the number turns amber: the same 8:42 means a very different moment in Q1 and Q3, and the color is the whole warning, on purpose, to keep the line short.

The label names the moment it wants

“Clock” on its own reads as the clock after the play, and on most turnovers that is the wrong instant — possession changes partway through the play, not at the whistle. So on those trees the box says which moment it means:

TreeThe box readsBecause possession changes…
Punt with a returnClock when the punt was fieldedat the catch
InterceptionClock when the ball was interceptedat the interception
Fumble recovered by the other teamClock when it was recoveredat the recovery
Turnover on downsClockat the whistle — the play's own end

Only the last one matches the plain reading, which is why it is the only one left unlabelled. On the other three, entering the clock after the play hands the whole return to the team that just lost the ball: the return's seconds fall before the receiving team's possession begins, and are credited to nobody.

A punt with no return — a touchback, or a kick out of bounds — gets no moment either. There is no return to misattribute.

Kickoffs fill the clock in for you

The clock is stopped before every kickoff, so the value is not a matter of memory and the app puts it in the box already, with a note saying where it came from:

Both notes end the same way: leave it unless the board actually showed something different. Type over it and the note goes away — you have taken the value over, and from that point the only thing that matters is whether the box ends up empty.

This applies to the guided kickoffs that open each half as well as to kickoffs entered from the ladder. Those two are the ones where the answer is most certain — a full quarter, every time — and for a while they were the two that did not prefill.

If a clock value cannot be right, the app says so

Two checks run as you save. Neither of them refuses the entry — you are the one who saw the board.

If a clock does end up running backwards against the possession it closes, the app tells you how much time it could not count, in the message bar, at the moment it happens rather than in the report a week later.

On a kickoff, the change of possession is the catch

This is the one that quietly costs you accuracy, and it is worth getting into your routine before it matters.

Nobody owns a kickoff in flight. A free kick is a loose ball — the kicking team has given it up and the receiving team has not got it yet. That ambiguity does not matter, because the clock is not running either: on a free kick it starts when the receiving team legally touches the ball. The flight consumes no time, so there is none to argue over.

The return does consume time. Once the ball is touched the clock runs, and every second of the return belongs to the receiving team. StatChat gives it to whichever team the clock value you enter says it belongs to, and the change happens at a single instant: one clock reading ends one possession and starts the other.

So read the clock as the ball is fielded, not after the runner is down. The box asks for the clock at the change of possession, and on a kickoff that change is the catch. A scorer who looks up once the return is over reads a later number, and the whole return gets charged to the kicking team — which is the opposite of the truth, and a fifteen-second return moves time of possession by thirty seconds against the true figure.

Nothing warns you about this, because the app cannot tell a late reading from an accurate one. It is a habit rather than a rule — the prefill above removes the memory problem, not the reading one: if the board really did show something else, only you know that.

The clock is optional everywhere. Skipping it does not block anything — that possession's time simply is not counted, and the app says so under the field.

8. Special teams

On a punt, the calculator fills in the takeover spot for you. Enter where the ball was downed or received and the app works out both the punt distance and where the next drive starts, flipping the side for you — the kicking team's “opp 13” is the receiving team's “own 13”. Edit it if there was a return. On a fake, the calculator moves down beside the fake's own yards box and works that out instead.

Kickoff

Read the clock as the ball is fielded, not once the runner is down — the change of possession on a kickoff is the catch, and the return time belongs to the receiving team. See The clock above.

Kicker, the two-spot calculator above, and where the ball ended up. There is no box to type return yards into — give the two spots and the app works them out and shows the answer underneath. Touchback fills the receiving team's own 20 for you. Muffed / fumbled catch asks who recovered — if the kicking team recovers, possession does not change and they get a fresh set of downs.

Fumbled during the return is separate from a muff: the return happened cleanly, and the ball came loose afterward. Return yards are unaffected either way — they are measured to where the ball was lost, not to wherever it was finally recovered. Say who recovered it and the takeover spot follows automatically: the receiving team's own field, or a spot of its own for the kicking team, in their frame, since nothing needs flipping if they end up keeping it.

Safeties on a punt

Two ways, and both live where the play actually went wrong. BlockedRecovered by own team gives you In the end zone — safety; Muffed / fumbled catchRecovered by the kicking team now gives you the same button, for a bad snap chased down into your own end zone. Either way it is two points to the other team, the drive ends, and no takeover spot is asked for — a free kick follows, so where the next drive starts has not happened yet.

The safety option only appears once the kicking team is the recoverer. If the receiving team recovers in the kicking team's end zone that is a touchdown, not a safety.

Out of bounds is for a kick that goes out untouched: the receiving team takes over at their own 35, filled in for you and still editable if they elect the inbounds spot instead. No returner and no return yards, because nobody touched the ball. Available on the opening and second-half kickoffs too.

The four kickoff outcomes — Touchback, Muffed, Onside, Out of bounds — are mutually exclusive. Picking one clears the others.

Punt

Punter and distance (or the calculator). Then Touchback, Blocked or Muffed / fumbled catch as needed, the returner, and the spot the other team takes over.

Fumbled during the return works the same way it does on a kickoff: return yards stay put, and only the takeover spot depends on who recovers it.

Field goal

Kicker, distance, Good or Missed. A miss pre-fills the defense's own 20, which is right for a kick that reaches the end zone — type over it for a short miss that lands in the field of play.

Blocked and Muffed hold both force the result to Missed. A muffed hold means no kick was attempted at all, so the kicker is charged with nothing.

PAT and 2PT

Straightforward: kicker or ball carrier, and the result. A kickoff always follows a try, whatever the outcome.

The kicker and punter are remembered

After your team's first kick, the app pre-selects whoever did it last — the same way the quarterback is pre-selected on a pass. The player is highlighted and the list collapses to just him, with +N more beside it if you want somebody else — so if it is the right man you need do nothing. Tapping him confirms; +N more opens the full list, and typing a number overrides it. The number box stays empty and reads “or type #”: the highlight is what tells you who is suggested, and a number already sitting in the box looked like something you had typed.

Three separate memories, not one: kickoffs, field goals and PATs together, and punts. That is deliberate — plenty of teams have a kickoff specialist who is not the placekicker, and a wrong suggestion is worse than none because it looks deliberate and gets confirmed with a tap. Field goals and PATs share, because that really is the same player. Nothing is suggested until your team has actually done that kind of kick once, and each team has its own memory.

The defense cannot score on a try under NFHS rules. The play is dead the moment they get the ball, so there is no return to enter.

9. Utilities

Enforce from spot of foul is for a foul during a play, where the yardage is marked off from where the foul happened rather than from where the ball started. Tick it and give a side of the field and a yard line.

The clearest case: a back runs 8 from your 30 and holding is called at the 34. The ten yards come off the 34, so the ball ends on the 24 — a net loss of six, not ten. Without the toggle it would mark off from the 30 and put the ball on the 20, which is not where the officials will spot it.

The play itself does not count. On an accepted penalty the run is wiped out entirely: no attempt, no yards, not even up to the spot of the foul. The spot decides where the ball is marked off from, not how much of the play survives. So enter the penalty instead of the play, not as well as it — entering both leaves a rusher credited with yards he did not gain.

It cannot be combined with Dead-ball, and picking either clears the other: a dead-ball foul happens after the play is over, so there is no spot of the foul to enforce from. It can be combined with Automatic first down or Loss of down, because defensive holding is routinely both spot-enforced and an automatic first down.

On a kickoff, enter the kickoff first with its ending spot set to where the penalty will be enforced from, then add the penalty. During the guided kickoff at the start of a half the utilities are switched off, so finish that sequence before entering the foul.

ButtonWhat it does
PenaltyWhich team, then an optional penalty type, then how many yards. The type list appears once you pick a side and only offers fouls that side can commit — you will not be shown "Roughing the passer" as an offensive foul. Leave it as not specified if you did not catch the call.

Picking a foul fills in the NFHS yardage for you, and ticks Automatic first down or Loss of down on its own where the foul always carries one — under NFHS that is a short list: the four roughing fouls get the automatic first down, a handful of passing fouls carry loss of down, and almost nothing else does, whatever the NFL does with the same foul. The number is a suggestion, not a lock: type over it and it stops being tinted.

Half the distance replaces whatever is in the yards box with half the distance to the relevant goal line, rounded up, worked out from where the ball actually is right now. It is a deliberate tap, not something the app decides for you — the app cannot always tell when the situation calls for it, and a wrong number that fills itself in looks more trustworthy than it is.

Dead-ball, Automatic first down and Loss of down are three different answers to the same question — what happens to the down — so only one can be lit at a time. Picking one turns the other two off.

Bad snapYards lost, and whether your team recovered or the defense did. Charged to the team, not to a player.
FumbleA fumble that was not part of a rush or pass — a muffed handoff, say.
SafetyA safety with no other play attached.
QB kneelVictory formation only — a true kneeldown taken at the spot, 0 yards. Charged to the team, so the quarterback's rushing line is untouched. A sneak, a scramble, or anything that lost ground is a rush, entered under his number.
TimeoutThree per half, one per overtime. Shown in the line under the banner.
Adjust Down/DistanceCorrect the down, distance or spot without recording a play. Fill in only the parts you want to change.
Flip possessionHand the ball over when nothing else fits.
Set clockRecords the clock at the start of the current team's possession — for when a change of possession got saved without one. It does not change the down, the spot or the score. Only use it on a new possession: used mid-drive it restarts the count and that drive's time of possession comes out short.
Quarter markerMarks the start of the next quarter. Only ever offers the one quarter that can legally start next — Q2 from the first quarter, Q4 from the third. At the end of either half it is greyed out, because a half has to be closed with End 1st half or End game rather than marked. Hover it to see why it is unavailable.

10. Fixing mistakes

During the game

Edit players is the right tool far more often than it sounds. “That was 28, not 22” is noticed at half time as often as on the next snap, and it needs nothing from the game situation — a play three drives back is no harder to correct than the one just entered. It changes one field and cannot move the ball.
Undoing back past the start of the second half returns the game to halftime, and Start 2nd half reappears so you can run the kickoff again. Keep going and you are back in the first half.

After the game

Once a game is finished, Undo is disabled — the database will not delete plays from a finished game. To correct something, an admin uses Unlock to edit on the finalized banner. That reopens the game and gives every play in All plays its own controls. Press End game again when you are done.

A reopened game is fully live. The trees work, Save writes to the log, and a play entered by mistake lands in a finished game and moves the score, the stats and the recap with it. A red banner sits at the top of the page for as long as the game is open, so it cannot be mistaken for a game in progress. It goes away when you press End game.

The four controls on a reopened game

Edit play, and what it will not do

When you save, every later play in the same possession is rewritten so the down, distance and field position follow on correctly — and their players and their yardage are left alone. Before anything is written you are shown exactly which lines will change, each one as it reads now and as it will read, with a confirm or quit.

It deliberately refuses several things, and says which when you press it:

Nothing outside the possession is touched — not the next drive, not the clock, not the time of possession, and not another player’s statistics. The one thing that does move is the edited player’s own line in the box score, which is the point of it.
Before the game starts, none of these are available. Until you press Start game the only live control is Start game itself. The same applies at halftime and once a game is finalized.
An unlocked game leaves the season report. Unlocking reverts the game to in-progress, and season stats only count finished games — so while it is open, that game disappears from the season report and from season totals. Nothing is lost: press End game and it comes straight back. This is deliberate, so a half-corrected game cannot drag season averages around, but it does look alarming if you are not expecting it.
A game marked Preseason leaves the season report too — on purpose, and permanently rather than while a box is checked. It is unaffected everywhere else: its own recap and stat package are exactly the same as any other game's, and it still shows up on the dashboard, with a PRESEASON tag so it stays easy to tell apart from the games that count.

Checks — while the game is on

The Checks panel in the right margin runs the same tests as the button below, but continuously, a moment after you stop typing. It reads clear in green when nothing is wrong, or a red count when something is. An error found in the second quarter is a ten-second fix; the same error found after the whistle is an unlock and a re-entry.

It never blocks anything, and it never interrupts entry — it waits until the page is quiet before it runs.

Live totals

Under it are both teams' score, total, pass and rush yards, possessions, time of possession and timeouts, then each team's passing, rushing and receiving leaders and a team defence line. It is there so you can check against the stadium scoreboard without leaving the page — a timeout or clock discrepancy caught in Q2 is a small fix.

Checks — at the end

Run checks again looks for impossible entries — a down that jumped, a gain longer than the field allows, a touchdown that did not reach the goal line, plays with no spot, punts on the wrong down. It warns and never blocks; you decide.

11. Halftime, overtime, ending

How overtime runs

Overtime is played in series, not as continuous football. Each side gets the ball from the same spot, and the app walks you through it:

Kickoff and Punt are greyed out. There are no kickoffs in overtime, and a series starting on the opponent's 10 has nowhere to punt to. Field goal stays available: it is how most overtime series end.

You are not asked for the clock. There is no game clock in overtime, so time of possession stops at the end of regulation and no overtime time is counted toward it.

A half or an overtime always ends the drive in progress, even when the same team gets the ball back. Overtime possessions are kept out of the game's possession totals, so per-possession numbers stay comparable between games.

12. Reports

PageFor
Crew view (CREW VIEW ↗)A full-screen scoreboard for a second monitor or a TV. Updates as you enter plays. Nobody needs to touch it.

At halftime and after the final whistle it changes: the drive cards give way to a scoring summary, and the possession football and timeouts-left counter disappear. Both describe a live situation, and between halves neither is true — timeouts reset for the second half, so a counter still showing one would be wrong rather than merely stale. They come back when the second half starts.
Game recapPost-game summary with leaders and drive-by-drive detail.
Stat packageThe official single-game box score, followed by an analytics section of charts. Exports to PDF and Excel.
Season reportEverything across a season, with charts. Reached from Stats / Reports, on the dashboard's record band.

All four update live while a game is running, so a page left open stays current.

Analytics in the stat package

Added 8 September 2026. After the player tables, the stat package now carries the same analytics the season report has — scoring, yardage, the run/pass mix, discipline and efficiency — drawn for the one game. There are five sections: Game totals, Run / pass mix, Yards by quarter, Discipline and Efficiency. Each chart has its own row of figures directly above it.

The charts are by QUARTER, not by game. That is the only real difference from the season report. Most of the season charts gain a bar for each game played, and asked to draw a single game they would show one bar in a lot of white, so here they plot Q1 to Q4 instead — plus an OT column when the game went to overtime, exactly like the quarter line at the top of the page. The four charts whose shape never depended on the number of games — points by quarter, yardage by half, and the two run/pass donuts — are the same chart in both reports.

A chart with nothing in it says so in words. Plenty of games have no turnovers, no sacks or no penalties, and an empty grid with an invented axis reads as a fault rather than as a clean sheet. Those charts collapse to a single line — “No turnovers by either team.” The figures above the chart still show the zeros, so nothing is hidden.
Third and fourth down, and 20‑yard plays, are not split by quarter. They are shown for the whole game, us against them. A conversion rate off two attempts is a number that looks like information and is not.

Printing is unchanged — Download PDF as before. The charts print centered on the page, on US Letter and on A4.

Printed reports got their desktop layout back, 8 September 2026. A printed sheet is narrower than a laptop screen, and narrow enough that all four reports had been quietly printing in the phone layout — nothing on screen showed it. What that cost, now fixed: on the game recap the three leader cards printed stacked one per row instead of side by side, which is why the recap is now a page shorter; on the player report the split figures printed two across instead of five; on the season report and the stat package the graphs sat off to one side. Nothing about what the reports say has changed — only how much of a sheet they use.

Second-half totals on the crew view

From the first play of the second half, the Total Yards, Pass Yards and Rush Yards tiles show the game total followed by the yardage since the break487 [203] means 487 for the game, 203 of them in the second half. In the first half there is no second half to report, so only the running total shows.

Changed 30 August 2026. The bracket used to hold the figure as it stood at halftime, so the same game read 487 [284]. The information is the same either way — one is the other subtracted from the total — but the number a crew asks for out loud in the third quarter is what a team has done since the break, and that was the one nobody had without doing arithmetic on air.
The second half is quarters 3 and 4 only. Overtime is its own period, not part of the second half, so yardage gained there adds to the game total and stays out of the bracket. In regulation, subtracting the bracket from the total leaves the first half; once a game goes to overtime it leaves the first half plus the overtime. The bracket is recalculated from the plays each time, so correcting a play after it happened updates it.

Coming back from a report

← Back to reports returns you to the season you were reading, not to the current one. Opening three reports from the 2023 season no longer means picking 2023 three times.

Time of possession

Shown on all four: on the live view it sits under the timeouts at the right of each team's colored bar, and on the recap, stat package and season report it appears with the team totals. The season report also gives a per-game average.

It is built entirely from the clock values you enter, so it shows nothing at all rather than 0:00 when none were entered — a zero would claim the team never had the ball, rather than admitting nobody recorded it. For the same reason, the season average is over the games that actually recorded a clock, and says how many that was.

Time of possession relies completely on the accuracy of what the scorer types. There is no second source. The app cannot see the scoreboard, and it cannot tell a correct clock entry from a plausible wrong one.

Each possession's time is the difference between two clock values you entered: the one when that team got the ball, and the one when they lost it. Those readings chain — the value that ends one possession is the value that starts the next — so an error does not stay where it was made. A transposed digit, a clock read a beat late, a value entered against the wrong quarter: any one of them moves time from one team to the other, which is twice the size of the mistake, and every possession after it is measured from the wrong starting point.

One wrong entry anywhere in the game invalidates the whole time of possession calculation — for both teams, for the entire game. Nothing else in the app behaves this way. A missed tackler costs you that tackler and nothing more. A wrong clock costs you the number entirely, and the result still looks completely reasonable on the report, which is what makes it worth this much space.

What follows from that, in practice:

What the reports show now

Checking the totals against each other

On the live view, each of the Passing, Rushing and Receiving tables shows its category total beside the header. Those are there to be compared with the team tiles in the top-left panel: passing should match Comp / Pass Yds, rushing should match Att / Rush Yds, and receiving should equal passing. If any pair disagrees, something is wrong and it is worth stopping to find out.

The totals cover every player, not just the handful of rows on screen — those tables show the top few, so a total added up from the visible rows would disagree with the tile it is meant to check.

13. Reading the crew view

The crew view is the page your broadcast team watches. They never see the app itself, so they cannot ask you mid-game what a number means. This is what each one is.

The four panels

PanelWhat it holds
Top leftScore banner, then the team stat tiles — one column per team.
Top rightThe drive in progress, and under it four tiles for the current series — long pass, long rush, penalties and sacks. Becomes a scoring summary at halftime and at the final whistle.
BottomPassing, rushing, receiving, defense and special teams, per team.
BLK, added 8 September 2026. All three special teams lines — field goals, extra points and punting — now carry a BLK column, in the same place on each. It reads 0 when nothing has been blocked, which is most nights.

On the field goal line it is doing more than counting. A blocked attempt reads 1 att, 0 made, —, and that dash is only the Long column having nothing to show; BLK is what says he never got it away. A block still counts as an attempt, because he did kick it — unlike a botched snap or hold, which charges the kicker nothing at all.

It is worth having on the punting line for a second reason: Punts counts every punt including a blocked one, while Avg and Long count only the unblocked ones. So a punter can show 3 punts, 45.0 avg and the two look like they disagree. BLK is what explains it. The rule is deliberate — a block is not a bad kick, and it should not drag down a number describing how he strikes the ball — and it is set out in full on the Stat rules page.

The team stat tiles

TileWhat it counts
PossessionsDrives this team has had. A drive that ends the half or the game still counts.
Total YardsPass plus rush. Not the same as the yardage the ball travelled — penalties move the ball without counting here.
Pass YardsCompleted passes only. Sack yardage is not subtracted here; under NFHS it goes to rushing.
Rush YardsIncludes sacks as a loss, QB kneels and bad snaps — all team rushes under NFHS. This is the tile that surprises anyone used to NFL conventions.
Total PlaysScrimmage plays. Kickoffs, punts and kicks are not plays from scrimmage and are not counted.
TurnoversInterceptions thrown plus fumbles lost. A fumble the same team recovers is not a turnover.
PenaltiesCount and yards, written 4-35. That is four penalties for thirty-five yards — not a ratio, which is the most common misreading.
3rd DownConversions out of attempts, with the percentage.

The series tiles

Four tiles sit under the current drive, top right. They all describe the series in progress — not the game, and not the last drive. They replaced the previous-drive card on 30 August 2026.

TileWhat it shows
Long passThe longest completion of this series, then who caught it. An em dash until there is one.
Long rushThe longest carry of this series, then who carried it.
PenaltiesBoth teams, one row each: count and yards. A flag against your own defense and one against theirs are different facts, and this is the one tile that still says something when the count is zero.
SacksHow many the offense has taken this series, then the yards lost.
A name comes from the jersey number and this season's roster, so correcting a spelling on the roster page fixes it here immediately. A number on no roster shows as #22 rather than a blank.

In the team header

TOL is timeouts left. TOP is time of possession, and it only counts possessions where a clock was actually entered — skip the clock on a drive and that drive contributes nothing to TOP. A football beside a team name means they have the ball.

What changes at halftime

Five things, all at once, and a crew who has not seen it before will think something has broken. It has not.

Time of possession stays. Only the timeout counter goes; the TOP figure beside each team name is still there, and still correct.

All of it reverses the moment the second half starts. The same happens at the final whistle, where the summary reads Scoring — final.

The crew view at halftime
Halftime. The scoring summary has replaced the drive cards, the footballs and TOL are gone, TOP remains — and the yardage tiles still read as plain totals.

The bracket on the yardage tiles

Not at halftime — at the first second-half play. The interval itself changes nothing here, which is worth knowing, because a crew watching for it during the break will not see it.

From that first play onward, Total Yards, Pass Yards and Rush Yards carry a second, smaller figure:

264 [80]

The large number is the running game total. The bracket is the second half. So that reads as 264 yards for the game, of which 80 have come since the interval — 184 before it.

This changed on 30 August 2026 and the same game used to read 264 [184], with the bracket holding the first half. If you scored a game before that date, the bracket meant the opposite of what it means now.
The crew view in the third quarter
Third quarter. Brackets on the three yardage tiles, TOL and the football back, and the drive cards returned. Compare the tiles with the halftime picture above: 184 became 264 [80] — 80 of those yards since the break.
The screenshot predates the 30 August 2026 change and still shows the old bracket, 264 [184].
Only those three tiles carry it. Possessions, plays, turnovers, penalties and third down show game totals only, because a half split of those is not something anyone calls off air.

14. How stats are counted

This section is the summary a scorer needs during a game. The complete rule set — every statistic, who it is credited to, and what deliberately counts for nothing — is on How stats are counted. That page is written to be sent to a coach or printed for the box.

Player buttons lead with the jersey number, larger than the name, because that is what you are looking for. The yardage that used to sit on each button is gone: it read “0 yds” for most of them and made every button wider.

StatChat follows NFHS scoring, which matches NCAA on the points below and differs from the NFL. This matters if you are comparing against a source that uses professional conventions. One deliberate difference is flagged in the table: a clock-killing kneel is charged to a TEAM row rather than to the quarterback. It is scoped to cost nothing — see the kneel row.

SituationHow it is recorded
SackA rushing loss on the quarterback's own line — a carry and minus yards, which is what NFHS prescribes and what NCAA does. His passing yards are untouched and he gets a sack on his passing line as well. He will therefore appear in the rushing table even if he never ran by choice: sacked three times for 21 means 3 att, −21 yds. That is correct, and it is what MaxPreps shows. Only the NFL takes sack yardage out of team passing instead.
QB kneelA team rush. No individual attempt or yardage. This one is a StatChat choice, not the NFHS rule — the manual credits the player with the loss. It is scoped so it costs nothing: the kneel panel is only for a true clock-killing kneeldown taken at the spot, worth 0 yards. Anything that actually lost ground goes on the Rush tree under his number. So the whole difference is one 0-yard attempt.
Bad snapAlso a team rush — and here the team row is the NFHS treatment: a bad snap with no kick is credited to the team and not to an individual. Correct as written.
Defense on a tryCannot score. The try ends when they gain possession.
Missed field goal into the end zoneTouchback — the defense takes over at their own 20.
Penalty yardageCounts toward drive totals, both directions, so the total matches the field.
Sack, in the play logReads “sacked for a loss of 12”, or “sacked for no gain” if he went down on the line. The same wording a rush for a loss uses.
Penalty, in the play logReads PENALTY, Holding, on West Monroe, -10 yards. The yardage is signed by which way the ball moved, so a foul on the defense shows +15 even though they are the team being punished — that way the number agrees with the down and distance printed beside it.
The 50-yard lineShown as “the 50”, never “own 50”. Nobody owns the 50.
A catch with no receiver namedCredited to Unknown in the receiving table, so passing yards still equal total receiving yards. No real player is credited with a catch nobody saw him make. Unknown always sorts last and can never be a “leader”.
Time of possessionAccrues only between a clock entered at the start of a possession and one at the end. Skip either and that possession contributes nothing — which is why it is left blank rather than shown as zero.
Time of possession in overtimeNot counted. Overtime has no game clock, so the figure stops at the end of regulation.
A muffed punt or kickoff the kicking team recoversA turnover, charged to the receiving team — they had the ball, however briefly, and lost it. A muff the receiving team recovers itself is not a turnover.
An onside kick the kicking team recoversNot a turnover for either team. Nobody has possession of a kicked ball until someone controls it, so recovering your own onside kick is not taking anything away from a team that never had it — it is simply a recovery, the same distinction football statistics have always drawn between a muff (possession lost) and an onside kick (possession never established).
Drive total yardsNET yards, penalties included both ways — it is the distance the offense actually moved the ball. This will not match rushing plus passing on a drive that had a foul, and the stat package's “Total yds” is the other kind (rushing + passing only).

Team rushing therefore shows a TEAM line covering kneels and bad snaps, and the individual rows plus that line add up to the team total. Sack yardage is no longer on it — that sits on the quarterback, as above.

Stats that depend on what you chose to enter

Some fields are optional during entry, so a few numbers count what was recorded rather than what happened. None of these is a fault — each answers exactly the question it was given — but it is worth knowing which is which before handing a report to a coach.

StatWhat it actually counts
Targets (Tgt)Passes where you named a receiver — not passes thrown at someone. The receiver is optional on both completions and incompletions.
Catch %Catches divided by named targets. If you tend to name the receiver on completions but not on incompletions, this trends towards 100% — the incompletions were never counted as targets.
Tackles and per-player TFLPlays where you named a tackler. A minimum, not a total. This includes coverage tackles on kickoffs and punts: name the cover man and he is credited in the defensive table and named in the log line, the same as a tackle from scrimmage. The credit goes to the kicking team, which is the team covering the kick.
Team TFLEvery scrimmage play that lost yardage, tackler named or not. This is why it can be higher than the per-player figures — they are counting different things, and both are correct.
You decide how complete these are. Naming the receiver on an incompletion, or the tackler on a routine stop, is entirely optional and costs a second or two each time. Skip them and the game still scores correctly — only these particular columns thin out. Capture them and they are as good as any other stat on the page.

15. Broadcasting (ON AIR)

StatChat can feed your broadcast software live — the score, down and distance, and every stat — so the on-screen graphics update themselves as plays are entered.

The short version

  1. Set one game ON AIR from the dashboard.
  2. The production team points their software at the feed addresses on the Broadcast setup page.
  3. That’s it. The addresses never change, so this only happens once.

Setting a game ON AIR

On the dashboard, open the menu on a game and choose Set as ON AIR. Admin and game-entry accounts can both do this.

It is the second item in that menu, directly under Game setup, and it is drawn in the same blue as Crew View and Score summary immediately below it. The three of them are one group — the broadcast surfaces — and ON AIR is the switch that makes the other two live. Once a game is flagged the item changes to ● Take OFF AIR and turns red, so the color tells you which way it will go before you read the words.

A flagged game shows a red ● ON AIR badge on the dashboard row, and a banner across the top of the game page while you are entering plays.

You can do this the day before. A game does not have to be started, or even played, to be set ON AIR. Flag it as soon as it is created so the production team can set up in advance.

Only one game at a time

Setting a game ON AIR automatically takes any other game off. This is enforced by the database, not just the screen, so two people cannot accidentally flag two games at once.

Why it asks so many times

This one flag decides what the entire broadcast is showing, so the app makes it deliberately awkward to change by accident:

The app also records who changed the flag and when, so if the wrong game is on air there is an answer to “who did that?”

Setting up vMix? The step-by-step is on its own page — Feeds in vMix. This section covers what ON AIR means and what the feeds contain; that one covers the dialogs.

The Broadcast setup page

In the account menu, Broadcast setup lists every feed address with a copy button, and shows what is on air right now. Send that link to the production team and they can set themselves up without anyone reading a web address down the phone.

It is available to admin and game-entry accounts only, because it displays the feed key.

What is on the Broadcast setup page

Four blocks, top to bottom. Most weeks you only need the first.

Feed addresses

Twelve separate data sources, each a web address your production software reads on a timer. The addresses never change from week to week — they follow whichever game is set ON AIR, so a producer sets them up once and never touches them again.

FeedWhat it gives
Scoreboard bugScore, quarter, down & distance, ball on, possession, timeouts. One row.
Current drivePlays, yards and time of possession on the drive in progress. One row.
Play tickerThe text of the most recent play. One row.
Team comparisonYards, first downs, third downs, turnovers. Two rows, one per team.
Rushing / Passing / Receiving leadersOne row per player, most yards first.
Defensive leadersOne row per player, most tackles first.
Kicking leadersField goals and PATs — made, attempted, longest, blocked. One row per player who attempted a kick, so a punter never appears at 0 for 0.
Punting leadersPunts, yards, longest. One row per player who punted.
Starting lineupOne row per position, with the number and the player's name. Offense, defense and special teams each have their own address on the setup page. Empty until a lineup is entered on the game setup screen.
The quarter comes in three wordings, added 8 September 2026. Bind whichever your titles want — they are three separate columns on the scoreboard feed and all three are always sent: quarter gives Q1 Q2 Q3 Q4 and OT1 OT2 OT3; quarterOrdinal gives 1st 2nd 3rd 4th and a plain OT; quarterNumber gives the bare number 1 2 3 4 5. If you want the overtime round as its own figure there is a fourth column, overtimeRound, which is 0 in regulation.

Season totals, not just this game

The six leader feeds — rushing, passing, receiving, defense, kicking and punting — also come in a season version. It has its own row on the setup page, directly under the game one, with its own copy button, and it takes the same XPath.

A season feed covers your team only, from completed games only. Preseason games are excluded, the same as in Season Report. Because it reads finished games, a season panel cut to air mid-game will not change under the director.

Each feed is available as XML or JSON — the toggle at the top switches every address at once. vMix and most switchers want XML; JSON is there if someone is building something custom. Copy all for the crew and Email to the crew send the whole set — addresses, XPaths and column names — which is easier than reading them down a phone.

Setting it up

Every feed row on the setup page gives you the two things vMix asks for, numbered in the order it asks for them, each with its own copy button:

  1. Address — paste into the data source.
  2. XPath — which element in the file holds the rows.

In vMix: the menu icon at the bottom right of the main window → Data Sources Manager → add → type XML, paste the address, set the update interval to 1–2 seconds, and paste the XPath. Then map each column onto a field in your title.

The XPath is not the same for every feed. The element name changes with what the feed returns — /feed/game, /feed/player, /feed/starter and so on — which is why the setup page prints it next to each address rather than leaving you to work it out. A wrong one gives an empty data source with no error message, which is the hardest kind of fault to chase.

One row per record — the scoreboard, drive and last-play feeds return a single row; the leader feeds return one per player, so a title using them needs to be built for a repeating list.

The full vMix walkthrough is its own page: Feeds in vMix. Every screen and dialog step, the XPath for each feed, the column names, and what to check when a graphic goes stale. It needs no login either, so it can go to the crew with the addresses.
vMix wants XML, not JSON. Its JSON data source expects the file to be an array of rows; a StatChat feed is an object with the rows nested inside it, so there is nothing for vMix to bind to. JSON is there for software that can read it.

Screen overlay

A ready-made transparent scoreboard, if your crew would rather not build their own. It goes in as a web browser input at 1920×1080, not as a data source, and it draws itself. Quicker to get on air; less control over how it looks.

If the graphics stop updating

Open any one of the addresses in a browser. Current data means the feed is fine and the problem is in the production software; stale or missing data means it is this end. That one check separates the two halves of the problem faster than anything else, and it is worth showing a producer before game day rather than during one.

The page is admin and game-entry only, because it shows the overlay key — anyone with that key can read your game's data. Send the crew the addresses, not the page.

What the production team gets

FeedContains
ScoreboardScore, quarter, down & distance, ball on, possession, timeouts
Current drivePlays, yards and time of possession on the drive in progress
Play tickerThe text of the most recent play
Team comparisonTwo rows, one per team: yards, first downs, third downs, turnovers
Rushing / Passing / Receiving / DefenceOne row per player, best first

The ready-made overlays

If the crew would rather not build their own graphics, StatChat ships finished ones. They are added differently from the feeds — as a web browser input at 1920×1080, not as a data source. The background is transparent, so each keys straight over the programme feed and needs no mapping.

Every address is listed on the Broadcast setup page with a copy button. In outline:

OverlayWhat it is
Full scoreboard
Score only
The scoreboard bug, with or without the down-and-distance line.
Wide center
four addresses
The same scoreboard with a wide black box in the middle for your own game clock and play clock, and the quarter and down carried around it. Two arrangements — the situation either side of the clock, or on a shelf under it — each with a see-through version that lets the field show through the team blocks. The columns are a fixed width, so the black box sits at the same coordinates in every game however long the opponent's name is: position the clock once and leave it.
Team stats + leaders
and a portrait version
The team-versus-team comparison with each side's leaders underneath — the graphic to hold between drives. Reads the game on air and keeps polling, so it is current whenever the director cuts to it.
Current drive
three layouts
Plays, yards, where the drive started, down and distance. Two shorter versions drop the down and distance, or the field position entirely, for a bank whose score bug already carries the situation.
Season leaders
six, plus a rotating one
Rushing, passing, receiving, tackles, kicking, punting — season totals, your team only. The rotating version cycles several categories on one input instead of needing a switcher input for each.
Starting lineups
six addresses
Offense, defense and special teams, each in a one-column or two-column layout so a lineup card fits a lower third or a tall side slot. Fed by the lineup you enter on the game setup screen.
Several of these hide themselves when they have nothing to say. The current-drive panel disappears between possessions and before kickoff rather than sitting there reading 0 and 0; a starting-lineup card draws nothing at all until a lineup is entered. That is what makes them safe to build into a switcher bank once and leave alone all season.
The trade-off. The broadcast software receives a picture, not data. That means it cannot be restyled, and the numbers are not available to any other graphic. Adding it as a data source by mistake will fail with a parsing error — it is a web page, not XML.

Caveats worth knowing

The feed is only as live as the entry. If you are three plays behind, so is the broadcast. Nothing can fix that but keeping up.
If no game is flagged, the feed falls back to the most recent game in progress. That is usually right — but it is a guess. Flag the game and it is not guessing.
Taking a game off air mid-broadcast may leave the graphics blank. With nothing flagged the feed falls back to a live game, and if there is not one it returns nothing at all. Usually you want to leave a game on air until the broadcast has finished, not when the game has.
The feed shows the flagged game whatever its state. Flag a finished game and the graphics show its final score. Flag one that has not started and they show 0–0. Neither is a fault — but check which game is flagged before kickoff.
Undo reaches the broadcast within a couple of seconds. Correcting a mistake corrects the graphics too, so there is no need to leave a wrong play standing.

If the graphics stop updating

  1. Open one of the feed addresses in a browser. If it shows current data, the feed is fine and the problem is in the broadcast software.
  2. The usual cause is a refresh interval that was never set. A data source that fetches once looks exactly like a frozen feed. One to two seconds is right.
  3. If it says No game is on air, nothing is flagged and no game is in progress.
  4. If the scoreboard is right but stats are missing, check the software is reading the correct feed — each graphic uses its own address.

Between seasons

Nothing needs redoing. The addresses do not change, so last season’s setup still works — flag the first game of the new season and the graphics follow.

16. If something looks wrong

A play will not save

Look for an amber message inside the panel. The usual cause is SPOT NOT SET — use Adjust Down/Distance first.

If the message instead says your free trial or your season ended, that is billing rather than scoring. Everything you have already entered is still there and still readable — the overlays, the feed, the reports and every past game are untouched. What stops is new entry. Open Account to start or renew a season and carry on.

A game already in progress is never cut off. If a season runs out in the middle of a Friday night, the game being scored right now finishes normally; the block applies from the next game. Nobody loses a broadcast to a renewal date.

You are told before it happens

Nobody should meet a renewal date for the first time on a Friday, so the reminders go out well ahead of it. Your school's admins are emailed seven days, three days, one day and on the day a free trial or a paid season ends.

Four emails, and only four. Each milestone is sent once and recorded, so a reminder cannot arrive twice for the same date. Renew and the reminders stop; renew and then let the new date approach, and the series starts again for that date.

These are not product news and there is no unsubscribe on them. They are about your own account's status, and somebody who has opted out of hearing about new features has not asked to be kept in the dark about their season ending. If you would rather a different person received them, make them an admin, or ask us to change who is listed.

The scoring screen itself also carries an amber strip inside the last week, so a crew who never opens the dashboard still gets the warning where they actually work. Nothing is disabled while it shows — the season has not ended yet and every control still works.

A player is missing from a picker

Type the number in the box. They join the list from then on. To have them there from the start next time, add a position to the roster or name them as a likely starter.

The pages disagree with each other

Reload the report page. All pages update live, but a tab left open through a network drop can fall behind.

Losing the connection

Two things appear, and they mean different things.

A red banner: "No connection to the server." This appears as soon as the connection drops, before any play has failed — the app checks the database every few seconds rather than trusting the laptop's own idea of whether it is online. A laptop joined to venue wifi with a dead uplink will happily report that it is connected.

A yellow banner: "N plays not yet saved." This appears once plays are actually waiting. Retry now forces an attempt, though it retries by itself anyway.

Undo is limited while offline. A play you entered during the outage can be undone as normal — it never left this laptop. A play saved before the connection dropped cannot: removing it here would look right and then the play would reappear when the connection returns, because the deletion never reached the server. The app refuses that one and says so. Once you are back online it undoes normally, and any play can be deleted from a finished game via Unlock to edit.

Keep entering plays either way. They are stored on this laptop and upload automatically when the connection returns. The game scores correctly throughout — the only thing missing is the trip to the server.

Do not refresh or close the tab while the red banner is showing. Nothing is lost if you do — the queued plays are on this laptop and survive — but the page cannot reload without a connection. You would be looking at a browser error page, unable to enter anything, until the wifi comes back. The browser will ask you to confirm if you try, which is your last warning.

If you do get stranded on an error page: wait for the connection, reload, and the queued plays upload on their own. Do not clear the browser data, and do not switch to another laptop — the queue lives in this browser and moving away is the one thing that would actually lose it.

The wrong team has the ball

Use Flip possession, then Adjust Down/Distance to set the spot.

Starting over

An admin can Reset game from the three-dot menu on the dashboard. It clears every play and returns the game to not-started. You must type the game designator to confirm — there is no undo.

Not on a finished game, from 8 September 2026. Reset game no longer appears in the menu for a game marked FINAL. A finished game’s plays are what your season report, its stat package and any shared recap link are built from, and reset is the one action here that cannot be undone — Delete game can be reversed, reset cannot. If you genuinely mean to clear a finished game, open it, use Unlock to edit, and the option comes back on the dashboard.
A copy is now kept automatically, from 8 September 2026. Before a reset clears anything, the whole game — the game row, both rosters and every play — is written to a copy only we can see. The message after a reset gives you a short reference; quote it to support and we can put the plays back. This is a safety net, not a feature you drive: it is there for the reset nobody meant to do.
You can still take your own copy, and it is worth it. Download backup is in the same menu, above the two red options. It saves the same thing as a JSON file on your own machine, which is the one copy that does not depend on us. It takes a second.
Restoring only works while the game is still empty. If you reset a game and start entering it again, the old plays cannot simply be put back — they would collide with the new ones. Ring before you start re-entering, not after.

None of that helped — telling us

There is a form on your account page: Report a bug or request a feature, at the top beside your email address. Pick which it is, give it a title and describe what happened, and submit. It reaches us with your name and school already attached, so there is nothing to fill in about who you are.

For a bug, the useful things are what you were doing, what you expected, and what happened instead. The quarter and the play help more than anything else — a bug that only happens on a fumbled catch in overtime is one we can find in minutes with that sentence and not at all without it.

A feature request goes to a different place from a bug, which is the only reason the form asks. Both are read.

If you cannot sign in, that form is behind the very thing that is broken. Use statchat.co/support.html instead — it asks for an email address and what is happening, and nothing else. support@statchat.co reaches the same place if you would rather use your own mail.

Something unclear or missing from this guide? It is worth saying so — the confusing parts are usually the parts that cause bad data. There is a form for it on your account page, or see section 16.

@statchatfball @statchatfootball Facebook YouTube