What we do

Most high school games are already broadcast. Almost none are written up.

A local station calls the game, a few hundred people listen, and by Saturday morning there is no record of it. CubReport takes that broadcast and files a proper game story, a box score and tagged photographs the same night, without putting a reporter in the press box.

Below: what comes out of it, how the pipeline works step by step, and the specific things we do to stop it inventing anything.

What comes out

One upload, a full file on the game

Every piece is generated from the same broadcast, so they agree with each other and with what actually happened.

A version for everywhere it runs

A short blurb and a game story sized for the newspaper and the school's own site, and the full-length article on CubReport with the photographs and video alongside it.

Photographs tagged by jersey number

The night's shots are matched against the roster, so the picture of the player the story is about runs with the story about that player.

A box score from the broadcast

Scoring by quarter, the plays as they were called, and the individual lines the announcers actually stated — labelled as reconstructed, never presented as official.

Monday's announcements

Teleprompter bullets and a thirty-second read, written for a student to say out loud at 7:45am rather than a news article with the paragraphs shortened.

How it works

Nine steps. One of them is yours.

Someone uploads the broadcast. That is step one. Everything below happens on its own, in this order.

  1. 01

    Your rosters go in

    One-time

    A CSV export from whatever your athletic director already uses — number, name, position, class. One per sport, per season.

    Jersey numbers are the key to everything downstream: they connect what the announcer said to who was actually on the field, and they're how photos get tagged. That's why duplicates get flagged before an import goes through.

  2. 02

    The station uploads the broadcast

    You

    The person who ran the call picks the school, sport and opponent, then drops in the mp3. A two-hour raw file is fine. This is the only manual step in the whole process.

    The file goes straight from the browser to storage, never through our servers, so file size isn't a problem.

  3. 03

    The audio is split and transcribed

    The broadcast is segmented without re-encoding, then transcribed piece by piece in order, with each piece conditioned on the tail of the one before it so a sentence spanning a boundary doesn't restart mid-thought.

    Your roster is fed into the transcription itself as a vocabulary hint, which fixes most name mangling at the source rather than trying to clean it up afterwards.

  4. 04

    The facts are pulled out — before any writing happens

    A separate pass reads the transcript as a statistician, not a writer: scoring by period, the plays that were actually called, individual stat lines that were actually stated, and standout performances.

    This pass also records an explicit list of what the broadcast never established. That list is the single most valuable thing in the process, because every later step is forbidden from asserting anything on it.

  5. 05

    The game story is written

    A 400–700 word game story in the voice of a local beat writer, grounded entirely in the fact sheet. If the broadcast was thin, the story is short. It doesn't stretch.

  6. 06

    Two more lengths are written

    A 140-word brief for the scoreboard roundup and social, and a longer feature for the school paper. Both are genuine rewrites from the same facts, not the standard version padded or trimmed.

  7. 07

    Photos are read and tagged

    Every uploaded photo is scanned for legible jersey numbers, which are matched against the active roster for that sport and season. A confirmed match becomes a named tag; an unreadable or unmatched number stays a number.

    The photos of the players the story is about get promoted into the article body automatically. That's the connection between "who had a great game" and "which picture runs."

  8. 08

    The morning announcements get written

    Teleprompter bullets plus a 30-to-45-second read, written for the ear — short sentences, scores spoken out as words, names of specific students. Not the article with the paragraphs shortened.

  9. 09

    It publishes, and you edit whatever you want

    The story goes live on your school page and lands in the station's account at the same time. Your staff can rewrite any of it, swap the length that's public, fix a name, or pull it down — and what they save is what readers see.

Guardrails

Why it doesn't invent things

Any system that writes prose from audio can produce a confident sentence that isn't true. These are the specific measures that stop it, not a promise that it's careful.

Facts first, prose second

The fact-extraction pass runs at near-zero temperature and produces a structured record. The writing steps only ever see that record plus the transcript, and are told the record is the complete set of assertable facts.

No season context, ever

The system knows about one game. It is explicitly barred from writing records, streaks, rankings, or "season opener" — the details a writer reaches for when finishing a paragraph, and the ones most likely to be wrong.

Names must match a roster

A player is named only when the roster confirms the spelling, usually by way of a jersey number said on air. Anything else is described by number and position instead of guessed at.

Photo tags don't guess

The vision model reads numbers; it is never asked to identify people. Matching to a person happens in code and requires an unambiguous number, the right uniform, and exactly one active roster player wearing it.

The box score admits what it is

Reconstructed from a broadcast, labelled with a confidence level, and annotated with what the announcers skipped. It never gets presented as the official scorer's book.

A human always has the last word

Nothing is locked. Every article, headline, caption, score and tag is editable by school staff, and the school can pull a story off the public site at any time.

Who it is for

Three parties, one workflow

Nobody signs up publicly. Every account is issued by CubReport and handed over.

The station that calls the game

One upload screen. Pick the school, the sport and the opponent, drop in the mp3, and watch the story build. Every article credits the station by name and links back to it.

The school

The story is already written when staff log in. They can edit any of it, and changes are live the moment they save — no approval queue standing between the game and the coverage.

The local paper

The short version is sized for print and ready to run, credited to the station that called it, with the full article and the photographs living on CubReport.

Want to watch it run on one of your own games?

Send us one broadcast file and we’ll send back everything above.