Tagging a game only once
A math trick found in a video editor cut duplicate analyst work in half
Hudl Assist — Video Alignment Tool
When both coaches in a game filmed and submitted their own copy, our analysts tagged the same game twice — about 4 hours of redundant work per game. I found a way to mathematically align the two videos using metadata already sitting in the file, which let us reuse one team's tags on the other's footage. It shipped as the Video Alignment Tool and saved $500K a year with no drop in analyst accuracy or coach satisfaction.
- Experience goal
- Let analysts tag a game once, no matter how many angles get submitted.
- Business goal
- Cut redundant analyst hours on duplicate-film games.
- Timeline
-
1 quarter total
1 month discovery, 2 months build - Team
- Me (design), 1 senior PM, 3 engineers, 1 QA
The problem
Teams submit game film to Hudl Assist, where analysts tag every play with data before returning it to the coach. When only one coach filmed, that was one video, one tagging pass. But often both coaches recorded and submitted their own copy of the same game — two different camera angles, two different filming styles, one coach pausing between plays and the other shooting continuously.
Our analysts had no way to know the two videos were the same game underneath, so they tagged both from scratch: about 2 hours per video, 4 hours total, to produce data that should have been identical. The team's goal for the quarter was blunt — figure out how to tag a game only once.
Mapping the solution space
My PM opened the quarter with a workshop to pin down the problem before anyone reached for a solution. From there, an engineer and I mapped out every idea we could think of along one axis: how technical the fix was. The most technical end was full ML — detect a subset of events in each video automatically and use an algorithm to line them up. The least technical end was pure behavior change: get coaches to just use their opponent's film instead of filming their own.
- Coach education: reuse opponent's film
- In-product nudges toward one submission
- Metadata-based angle alignment
- Manually tag events, then align
- ML-detected events + alignment algorithm
Racing four bets in two weeks
Rather than debate the spectrum on paper, we split into two teams and went scrappy: two experiments a week, skunkworks-style, to see which bets actually held up.
Engineering-led track
Week 1
ML-tagged event subset + alignment algorithm
The most technical end of the spectrum, tested first to see if it was even feasible.
Week 2
Manually tagged events + alignment
A cheaper version of the same idea — skip the ML, tag a few events by hand and align on those.
My track
Week 1
Customer education, mapped by effort
Explored what we could put in front of coaches to get one film submitted, and scoped the build effort for each. This is where I noticed the metadata pattern — see below.
Week 2
Angle alignment feasibility
Scrapped the education idea to chase what I'd found instead. Took roughly 5 minutes to find the right offset by hand.
The discovery
While digging through video metadata during week 1, I noticed something: some videos carried real-world timestamps, and some didn't — and on the ones that did, the two coaches' timestamps disagreed by a fixed, constant offset.
One coach paused the camera between plays; the other let it run continuously. That's why the raw footage never lined up minute-to-minute. But if both videos had real-world timestamps on even a few frames, the gap between them was just math — a fixed offset I could calculate and then apply as dead time.
I downloaded Adobe Premiere, spliced in the calculated offset, and compared the two analysts' tags on the same plays. They lined up. Two completely different filming styles, reconciled with a few minutes of arithmetic instead of a second full tagging pass. I walked my group through it on the spot — that demo is what sent us chasing angle alignment instead of the education idea for week 2.
Same three tagged events, two filming styles — a calculated offset (dashed block) is all it took to line them up.
Turning it into a product
Feasibility wasn't the same as a usable tool, so once we'd committed to angle alignment I ran a UI sketch session with the team to work through what the alignment step should actually look like for an analyst mid-tagging-job. We started the quarter down two engineers, who were mostly heads-down on bug fixes — so I unblocked myself and ran two rounds of usability testing solo off a scrappy prototype.
Round 1
Can this be a two-click job?
Tested whether analysts could go from two raw submissions to a correctly aligned pair in two clicks, consistently, with no coaching from me. This is what confirmed the offset math I'd proven on my own laptop actually held up as a real workflow, not just a demo.
Round 2
Where does a brand-new job type break?
Analysts had never done this kind of task before, so there were no habits to lean on. This round hunted for the places the UI quietly assumed knowledge nobody had yet — which is where the vocabulary problem below surfaced first.
The edge case that came out of testing and shaped the final flow: games missing footage at the start, where the usual sync point didn't exist and analysts needed a fallback way to anchor the alignment elsewhere in the video.
My biggest challenge: inventing a vocabulary
The hardest part of this project wasn't the math or the build — it was that this job had never existed before, so none of the words for it existed either. I couldn't explain the problem to engineers, get sign-off from my PM, or ask an analyst what confused them, without a shared way to talk about pieces of a video that had never needed names before. Round 2 of usability testing is where I felt this hardest: analysts kept describing confusion in circles because we had no shared term for what they were pointing at.
Some of the terms I ended up defining and carrying into the shipped UI:
- Media segment
- One continuous piece of a game's footage. A coach who pauses and resumes recording doesn't submit one file — they submit a stack of segments, and the tool needed a word for "one of those" before it could talk about aligning them.
- Sync point
- The specific moment in each source we anchor the alignment offset to. Normally the start of the game; when that footage was missing, analysts needed to pick a different one.
- Trusted source
- A segment carrying a real-world timestamp we can actually calculate an offset against.
- Untrusted source
- A segment with no reliable timestamp, or one that doesn't agree with anything else — the alignment math has nothing solid to check itself against.
Once the team had agreed on these, the pace of every conversation after changed — design reviews, engineering handoff, even usability scripts got faster, because we were no longer spending the first five minutes of every conversation re-explaining what we meant.
Results
The Video Alignment Tool shipped at the end of the quarter. Analysts now align two angles of the same game in minutes instead of re-tagging one from scratch.
$500K
saved year-over-year in analyst time
4hrs → ~2hrs
per duplicate-film game, tagging down to one pass plus alignment
0%
drop in coach-reported data quality after launch
How I would improve this
The missing-footage edge case was the one we found through testing rather than anticipating up front — with more time, I'd want a broader pass of research up front across the range of ways coaches actually film, rather than discovering fallback anchors reactively during usability testing. I'd also want to revisit the manual-anchor flow for that edge case once we had usage data: it worked, but it was the least-tested part of the tool at launch.