Opens in a new tab

How to Post Score and Highlight Graphics Minutes After the Final Whistle

Published October 29, 2026

Teams that post a final score graphic minutes after the whistle did almost all of the work before the game started. The design, the variants, the roster rows, the file names and the render machine are all ready by kickoff. At the whistle only three things are left: the numbers go into the data, a person checks them, and a machine renders what is already built.

That is the whole trick, and it is less glamorous than it sounds. Speed after the game is bought with preparation before it. This article splits the post-game window into those three parts, what you prepare, what the data fills, and what a human checks, and shows where our tools carry each part and where they stop.

What you build before the game, so the whistle only adds numbers

Start by listing the graphics your social team wants within the first stretch after the final whistle. For most teams the list is short and predictable. A final score card. A player of the game card. A stat card for each player who scored or hit a milestone. A short highlight clip for the key moments, wrapped in your branding. Maybe a vertical version of each for stories and a square version for the feed. Write the list down, because every item on it becomes a template or a variant of one, and anything not on the list will be built by hand on the night, which is exactly the delay you are trying to remove.

Each of those graphics is built once in After Effects by your designer, the normal way. Then the designer rigs it with Templater, which means marking the layers that change: the score, the opponent name and logo, the player name, the headshot, the stat values, the highlight clip. Everything else, the motion, the type, the music, stays exactly as designed. Our post on how Templater automates sports video production walks through rigging for player graphics in general. The point here is narrower. The post-game set has to be rigged and tested days before you need it, because the night itself has no room for fixing a template.

Build every result before you know the result

A final score card is not one design. A win, a loss and a draw usually want different headlines, different energy and sometimes different colors. An overtime or extra-time game may want a badge that a regular game does not. Do not wait for the result to pick a design. Build all of them in advance and let one column in the data choose.

Templater gives you three ways to do that, and each fits a different situation. A column named target picks which composition in the project gets rendered for that row, so a win composition and a loss composition can live in the same project and the row decides. Our documentation notes that this column overrides the other ways of choosing a target, and that you still need a backup method set, so a blank cell does not stop the render. If the variants are different enough to deserve separate project files, an aep column switches the whole After Effects project per row. Those projects must open without errors, because a missing font or effect halts the process, so open each one on the render machine before game day. For a small difference, like that overtime badge, a flag is simpler. Put in the cell mapped to the badge layer and Templater hides that layer for the row. Flags are case-sensitive, so type them exactly.

The reason to decide all this before the game is simple. Choosing between three finished designs is a one-cell decision. Building a fourth design at 10:40 at night is a project.

Fill in the rows that do not depend on the result

Most of the data for a post-game graphic is known before the game. The opponent, the venue, the date, the competition, the logos, the headshots, the spelling of every player’s name. Put all of it into the sheet before kickoff, one row per graphic you plan to make. The only cells left empty are the ones the game decides: the score, the result, the stat line, the clip.

Keep the post-game graphics on one tab, and give every row a file name in an output column. Our documentation suggests building it with your spreadsheet’s concatenate function from other columns, so a formula can join the date, the graphic type and the player name. If you prepend a folder name and a slash, the file lands in a sub-folder of your output destination, which means the social team can open a folder called final-score or player-cards and find exactly what it needs. Keep periods out of those names, since the documentation warns they cause After Effects output errors. Our post on custom output file names shows the pattern in full.

Decide what happens when a clip is missing

Highlight clips are the part most likely to be late. Someone has to cut them, export them and put them somewhere the render machine can reach. Decide in advance what Templater does when a clip reference is missing or broken, because the night will test it. In Templater Preferences you can choose to be asked, to find the file yourself, to skip the row, to use a branded placeholder, or to cancel. The documentation recommends the branded placeholder because it keeps a batch moving, and it has been the default since Templater 2.9.5. There is one more setting worth understanding. If empty cells are not treated as faulty, Templater holds over the footage from the previous row, which on a highlight card means one player’s card could show another player’s clip. Turn on the option to treat empty cells as faulty so a missing clip is obvious.

Varying clip lengths are handled by Time Sculpting, which trims, crops, shifts and stretches layers by rule so a seven-second clip and a twelve-second clip both fit the same card. Long surnames are handled by layout rules, which resize and reposition layers relative to the composition and to each other.

Finally, render a rehearsal set on the actual machine before game day, using last week’s real numbers. Our FAQ is clear that render time depends on the length of each graphic, the output resolution, your hardware, how much of each frame changes and how heavy the effects are, so nobody can tell you the time without a test. The pre-flight is how you get it. Render one typical card, time it, multiply by the size of your post-game set, and you know your real window.

What the data fills at the whistle, and who fills it

When the game ends, the empty cells get filled. Who fills them is a choice you make in advance, and it shapes everything after.

The simplest setup is a person. Your stats lead or a social producer types the final score, the result word that picks the template, and the stat line for each player row. This is exactly the shape of the workflow described in our post on how DraftKings wins back time with Templater. Their designers built templates in After Effects and linked them to Google Sheets, so people on the customer experience team, without design skills, fill in the sheet and the graphics come out in minutes instead of hours. For their lower thirds they fill in the day’s information and run a batch export at the end. The people closest to the information do the typing, and the designers keep the look.

The other setup is a feed. If your stats provider can write to a sheet or expose JSON, Templater can read Google Sheets, tab-separated files, JSON files and JSON URL feeds, and QUE, our JSON-based data manager, accepts jobs through its API. A feed removes typing, and with it a source of errors. It also removes a person from the loop unless you put one back, which is the subject of the next section.

Then something has to start the render. With Templater Pro, a person clicks once and Templater works through the batch. With Templater Bot, nobody clicks. The Bot checks the data source on a regular cycle and picks up rows whose render-status column says ready. It marks them queued, then processing for the row it is working on, and done when the file is written. If something goes wrong with a row, it writes an error code such as ERR::MEDIA into that cell instead. That column is the most useful thing on the sheet on a busy night, because anyone looking at it can see what is finished, what is waiting and what failed, without asking the person at the render machine.

Order matters in the post-game set. Put the final score card first. It needs the least data, only the score and the result, and it is the graphic fans look for first. Player cards come next as their stat lines are confirmed. Highlight cards come last, because they wait on the clips. If you fill and release rows in that order, the first post goes out while the rest are still rendering, which is how a team gets a score graphic out quickly even on a night with a large set.

If the set is large, more rendering capacity helps. Projector renders several videos at the same time on one machine, based on the number of cores, and by default it uses half the available cores, which you can raise or lower with a slider in Mission Control. Templater Bot can also run on several machines against the same data source, and our FAQ puts the arithmetic simply: two machines cut total production time in half, three cut it to a third. The data source needs a bot column for that. None of this shortens a single card, so the first post still depends on a lean template, but it does stop the last player card from waiting behind twenty others.

Here is a game night that puts it together. A semi-pro soccer club posts a final score card and a card for each goalscorer. On Thursday the designer finishes win, draw and loss compositions in one project and rigs the scorer card. On Friday the social producer fills a sheet with a row for the score card and a row for each likely scorer, with headshots and names already in place and file names built by formula. At the whistle the producer types the score and the word win into the score row, fills the two scorer rows that apply, deletes the rest, and checks them. Then she sets each checked row to ready. The Bot renders the score card first and the scorer cards after it, into folders the social team watches. The score card is posted while the second scorer card is still rendering. Nobody opened After Effects that night.

What a person checks, and why the check goes before the render

Automation makes a wrong number fast. A typo in a score cell becomes a polished, branded, animated graphic in the same time a correct one would, and once it is posted, people screenshot it. So the most important design decision in a post-game workflow is where the human check sits. Put it before the render, and make it the thing that releases the row.

The render-status column gives you that gate for free. The Bot only renders rows marked ready. So leave the cell empty while the data is being entered, and let one named person, not whoever happens to be nearby, set it to ready after checking the row. A feed can write the numbers. A person flips the switch. That keeps half-written rows and unconfirmed scores off your channels without slowing anything down, because checking a row of six cells takes far less time than fixing a posted graphic.

What should that person check? Keep it to a short list that fits the moment.

  • The score and the result word agree. A score of 2 to 1 with the word loss in the result column will render the wrong design with the right numbers.
  • Names on player rows match the people who actually did the thing. Rosters change, and the row prepared on Friday may be for a player who did not play.
  • Each clip cell points at the right clip for that player. A clip from the wrong moment is a worse mistake than a missing clip, which at least shows your placeholder.
  • Rows you did not need are deleted or left without a status, so they never render.

For a closer look, Templater’s preview lets you step through rows inside the composition and see each one merged before anything renders. Manual preview re-reads the data source every time, so it shows the numbers as they are right now. Cycle mode reads the data once and then loops, so it will not show a correction made after it started. On the night, use manual preview. For a whole set, spot checks are faster: Templater Pro and Bot can export still frames or short clips from the merged compositions, which lets you glance across every card in seconds. Our post on generating spot checks shows how to set them up, and the rehearsal before game day is the best time to make them a habit.

The second check comes after the render. Somebody watches the first finished file of each type before it is posted. Not every file, the first of each design. If the score card looks right, the template and data are working and the rest of the score cards will look right too. If something about the first one is off, you have caught it once instead of twenty times.

Corrections deserve their own plan, because stat lines do change after the game. If an official changes a statistic, fix the cell and set the row back to ready, and the Bot renders it again. Give the corrected row a new file name, with a suffix such as v2 in the output column, so nobody posts the old file from the folder by mistake. Decide in advance who is allowed to re-release a corrected row and who deletes the old post, so a correction on a busy night has an owner.

Posting itself stays with a person, and we would keep it that way. Our tools render the files and can move them to where your team picks them up. Projector deploys finished videos to Vimeo, JW Player and Frame.io, archives to an S3 storage bucket you provide, makes poster images and GIF clips along the way, and writes information from the streaming service back into your data source, so each row ends up holding a link to its own video. Projector reads from Google Sheets or QUE, and with Google Sheets it needs render-status and stream-status columns. Our documentation recommends the owner-only privacy setting as the default, so you can play each video through before anyone else sees it. Templater Bot can also run event scripts, shell scripts that move finished files, send a message to your team when a batch completes, or transcode output. Our pages do not list social networks as destinations, so the final tap that publishes a post is your social team’s, and that is also the moment of a last human look.

For the larger split between what belongs to templates and what belongs to an operator’s judgment during a broadcast, our article on which parts of a sports broadcast workflow can be templated goes further. And if your question is about getting a stat onto a graphic during play rather than after it, that is a timing problem with different answers, covered in our guide to getting live feed stats into a lower-third before the next break.

Where this fits, where it does not, and how to start

This approach is built for graphics that repeat. A final score card that runs every game, a player card that runs every week, a highlight wrapper that takes a different clip each time. Teams already work this way. Our blog describes the Cleveland Cavaliers and the Vancouver Whitecaps using Templater to insert data into the player statistics in their highlight reels, and Brigham Young University and Wichita State University using it to share sports statistics. The value grows with repetition, because the template costs the same whether it renders four cards or forty.

It is a weak fit for the one-off. The emotional season-ending video, the cut that an editor builds shot by shot, the graphic for a moment nobody planned, those are craft work and should stay that way. It is also a weak fit if nobody on your staff or at your agency works in After Effects, because someone has to build and rig the templates first. Dataclay does custom development for teams in that position, but you should know the dependency before you start. And it renders on real machines, so a very large post-game set at high resolution takes real time. Plan the hardware around your busiest night, not an average one.

On editions, the split is plain. Templater Rig is for an artist preparing a template. Templater Pro adds batch rendering with a click. Templater Bot adds the automatic watching, the render-status workflow and event scripts, which is what makes the gate described above work without anyone at the render machine. If your post-game set is a handful of cards and a producer is happy to click once, Pro covers it. If you want rows released by a check and rendered with no one at the machine, you want Bot. The Templater page compares the editions, and the Projector page covers delivery.

To start, pick the one graphic your team posts first after every game, which is almost always the final score card. Build win, loss and draw versions. Put a season of last year’s results into a sheet and render every one of them as a rehearsal, including the strange games: the extra-time win, the abandoned match, the double-digit score. Time one render. Then run a real game with a person setting ready on the score row and see how long the whole chain takes, from the whistle to a file in the folder. Our 30-day free trial is a fully featured version of Templater Bot, so the whole rehearsal can run before you buy anything. Add player cards next, then highlight cards, once the first one is routine.

The bottom line is that fast post-game graphics are a preparation problem, not a rendering problem. Build every result in advance, fill every row you can before kickoff, let the game decide only the numbers, and put one person’s check between the data and the render. Do that, and the score card is a file in a folder shortly after the whistle, waiting for someone to post it. Skip the preparation, and no amount of render power will save the night.

We get a handful of the same questions from social and graphics teams planning their post-game workflow. Here are straight answers.

Frequently Asked Questions

Can Templater post the finished graphic to our social accounts?

Not directly. Our pages do not list social networks as destinations. Templater renders the file and can name it and sort it into folders from your data. Projector can deploy it to Vimeo, JW Player or Frame.io, archive it to S3 cloud storage and write the link back into your sheet. Templater Bot event scripts can move files or notify your team. The final post is your social team’s job, which is also a useful last human check.

How do we stop a wrong score from rendering before anyone checks it?

Use the render-status column as a gate. Templater Bot only renders rows whose render-status is ready. Leave that cell empty while data is entered, and let one named person set it to ready after checking the score, the result word, the names and the clip. A feed can fill the numbers, but a person releases the row. That keeps half-entered or unconfirmed rows from ever becoming a polished graphic.

How do we handle win, loss and draw versions of the same card?

Build all of them before the game and let the data choose. A target column picks which composition renders for each row, so win, loss and draw can live in one project. An aep column can switch whole project files if the designs are very different. For small differences, such as an overtime badge, the flag hides a layer for that row. Choosing a finished design takes one cell. Building one on the night takes hours.

What happens if a highlight clip is not ready when the card renders?

That depends on the footage setting you choose in Templater Preferences. Options include skipping the row, using a branded placeholder, or stopping to ask. Our documentation recommends the branded placeholder, and it has been the default since Templater 2.9.5. Also turn on the option to treat empty cells as faulty, or Templater keeps the previous row’s footage, which could put one player’s clip on another player’s card.

How long does it take to render the post-game set?

Nobody can give you that number without a test, including us. Render time depends on graphic length, resolution, your hardware, how much of each frame changes and how heavy the effects are. Render one typical card on your production machine, time it, and multiply by your set. Projector renders several videos at once based on the machine’s cores, and two Bot machines cut total time in half. Release the score card first so it is not waiting behind the rest.

What do we do when a stat is corrected after we have rendered?

Fix the cell and set the row’s render-status back to ready, and Templater Bot renders it again. Give the corrected row a new file name, for example by adding v2 in the output column, so nobody posts the old file from the folder. Decide in advance who may re-release a corrected row and who removes the old post, so corrections on a busy night have an owner.

Which Templater edition do we need for a post-game workflow?

Templater Pro renders a whole batch with one click, which is enough if a producer is happy to start the render by hand. Templater Bot watches the data source and renders rows marked ready with no one at the machine, and it runs event scripts. Rig only prepares templates and cannot render batches. The 30-day free trial is a fully featured Templater Bot, so you can rehearse the whole workflow first.

Leave the first comment

Sign up

Stay up to date with Datclay's newsletter. We won't spam your inbox.

Newsletter Signup
Name
Name
First
Last

By submitting your email, you agree to our Terms and Privacy Policy. You can opt out at any time.