KPI Lab · Tool in design · Prototype

The manager speaks during the match.
And what he says disappears.

A tool I have been designing and building: it hears one line shouted from the touchline and cuts the moment that just passed from two angles — the tactical view and the manager's own — saving it with a tactical tag. Nothing is operated during the match. Four claps is the whole procedure. This is a record of that design process, and of the one thing I have actually proved so far.

Hyuckjin Han · Tool design 2026.08 Status: prototype — designed and built Not yet field-tested

Stated up front

This tool has never processed a single real match. All six pipeline stages are built, and exactly one of them has been verified. Below, each stage is marked for what is proved and what is still a claim. This is not a product page. It is a design note.

01The problem on the touchline — that moment does not come twice

Most of what a manager says during a match is about something that just happened. "Why didn't you close there." "You should have switched then." "Next time go a beat later." These sentences only mean anything to someone who is watching that exact moment.

And when the match ends, what remains is one ninety-minute video and a few lines of notes written from memory. The analyst takes those notes and searches through ninety minutes again. What the manager actually saw is already gone.

Why not just record it
A manager cannot touch equipment during a match. The instant he presses a button he misses the passage. And in practice he speaks after the event is over — the cross goes in, the header comes, and only then does the shout arrive.
Why notes don't work
There are dozens of instructions across ninety minutes. There is no time to write them, and even when written, the minute and second is not. Without that timecode you cannot find it in the video.

So I inverted it. Nothing is done during the match. Three sources simply run for the full ninety minutes, and everything else happens after the final whistle.

Source ①
Tactical camera
Tripod · the whole match
Source ②
Glasses (POV)
What the manager actually saw
Source ③
Audio
His voice · the reference clock

02The hard part isn't the cameras. It's having three clocks.

Here a problem appears. The three devices keep different time. Each crystal oscillator runs at a fractionally different frequency, so even if you start all three at kick-off, they drift apart as the match goes on.

Why that is fatal: the error grows the further into the match you go. Align only the start and your first-half clips land while your second-half clips slide off. And the second half is exactly when the instructions come thickest.

One clap versus four

Vertical = drift from the reference clock (audio) · horizontal = elapsed time

0s2s 4s6s8s Within 1s — the passage doesn't slide One clap → 6.5s First half lands, second half slides Four claps → within 0.2s 👏 KO 👏👏 half-time 👏 FT
A clap is an anchor that ties the three clocks back together. Clap once and you fix the offset but not the slope, so the error keeps accumulating. Clap four times and the slope is corrected segment by segment, so the error stays inside tolerance for the whole match. Note: 6.5 seconds comes from the drift injected into the synthetic test (1,200 ppm). It is not a value measured on real devices. It is the first number to measure in a real shoot.

What this design asks of the user

All it asks of the manager is four claps: first-half kick-off, half-time whistle, second-half kick-off, full time. No equipment to touch, no sequence to memorise. The number was chosen by asking whether the procedure would actually survive a real touchline.

03Six stages — and how far each has actually got

After the match you hand it three files and the tool does the rest. Each stage is marked with its current verification status.

The six stages · verification status

■ verified   □ built but unverified

3 recordings just run for 90 min ■ verified ① Time sync 4 claps align 3 clocks □ unverified ② In-play detection whistle + motion energy □ unverified ③ Transcription squad vocabulary injection □ unverified ④ Tactical tagging speech → structure □ unverified ⑤ Clip boundaries where to cut □ unverified ⑥ Two-angle playback synced, never re-encoded Tagged clips phase · concept · subject One of six stages is verified. For the rest I have confirmed the code runs — never that the output is right.
What matters in this diagram is not the shape of the pipeline but that there is only one ■. Designed and working are different words, and this tool is still at the first one.

04What is proved so far — 8 milliseconds

The way to verify stage one is this: build a problem whose answer you already know, then show the pipeline recovers it.

I generated three synthetic recordings. Into one I deliberately injected exactly 3.4 s of offset and 1,200 ppm of drift. Then I checked whether the pipeline could find those values again.

Injected error and recovered value

Synthetic data · 4-minute sample · four claps

OFFSET injected 3.400s recovered 3.408s error 8 ms DRIFT injected 1,200 ppm recovered 1,181 ppm error 19 ppm The analysis grid is 16 ms. 8 ms is half of it — the smallest error this design can produce, not a lucky number.
This is the only thing proved in the project. And it is a narrow result — it says the algorithm is mathematically correct on a clean synthetic signal, and nothing more. What happens once a real stadium's noise, reverberation and microphone auto-gain are layered on top, I do not yet know.

05Redrawing the operating model — on the touchline, only mark

That was the original design. Looking again, one thing bothered me. Even processing after the match, the amount to process is still the full ninety minutes. To find what the manager said you must push ninety minutes of audio through transcription, and on a laptop that takes a while.

So I changed the order. On the touchline it only marks "here". Everything heavy is deferred.

Separating marking from processing

During the match, no network and no processing

DURING · 90 min — mark only Speech-segment detection on the device · no network · no upload · almost no battery cost Full time · hotel or office AFTER · on wifi — one button ▶ Start the user presses it Marked segments only transcription Tactical tagging keep the instructions Clips, two angles with their tags Transcription shrinks from 90 minutes to the marked segments A manager speaks for only part of a match. Processing time and cost fall with it.
All that is needed during the match is detecting speech segments and writing down the time. That is a very small computation running on the device — no network, no server, almost no battery headroom required. The manager talks as he always does, and afterwards presses one button.

Does this remove the clock problem? It depends.

This has to be split precisely. The answer depends on where the mark can be written.

Mark in all three streamsMark in the audio only
RequiresThree devices driven by one app, or cameras that accept markers while recordingOff-the-shelf glasses and cameras that take no external signal
Clock problemGone. Each device wrote the same instant in its own clock, so no conversion is neededRemains. Audio time must still be mapped onto video time — which is what the four claps were for
Drift exposureNoneOnly inside the clip window (~20 s) → far smaller than across 90 min
Everything elseIdentical in both cases — nothing processed on site · no network · far less to transcribe

So the substance of this change is not the clock. It is making it unnecessary to process anything on site; the clock problem dissolving is a bonus that arrives when the hardware allows. The synchronisation work in the previous section is not discarded — it remains the bridge for the case where the mark can only go into the audio.

What gets harder instead

The first shoot just got easier

A side effect of this change. In a real field test, the only thing that must succeed on the day is the marking. Everything else can be re-run later, as many times as needed. That is a much smaller surface for the first attempt to break on.

06The three things I thought hardest about

① The manager speaks after the event

The first idea was "record when the manager speaks". That does not work. People react after the event is over. The cross goes in, the header comes, it is cleared — and only then does "why didn't you close!" arrive. Start recording at the moment of speech and the passage he is talking about has already gone.

What you miss if recording starts at the utterance

Horizontal = time, with the utterance at zero

the passage he means utterance 0s −3s −10s −15s ✕ record from the utterance — the passage is lost ✓ cut backwards from the utterance
The fix is simple. Do not control the recording at all — film continuously, then cut backwards from the utterance. That is why I dropped the early idea of "the glasses switch themselves on and off". There was a practical reason (cheap glasses have no remote-control interface), but the bigger one was that even if they had, it would have been too late.

② "this time" must not become "number two"

At the transcription stage, shirt numbers come up constantly. Korean has two number systems, so "chil-beon" and "ilgop-beon" both mean "number seven" and both must normalise to 7 before a player can be identified downstream.

But Korean sets a trap. "i-beon" means "this time", not "number two" — even though "i" is also the numeral two. Convert "that overlap this time was good" into "number two's overlap was good" and the sentence inverts. The same holds for "once more", "like last time", "late every time".

This part is proved

I keep a blocklist of everyday expressions and convert only numbers actually on the team sheet — two independent guards. Then I pinned the rule down with 33 unit tests. Removing the guard on purpose made exactly those tests fail, and nothing else — which is how you know the tests have teeth rather than being decoration.

This sits outside the six stages, but vocabulary handling governs the accuracy of stages ③ and ④. Being pure functions, it can be verified with no external dependency, so I nailed it down first.

③ A clip that opens on a dead ball is useless

Reach fifteen seconds back from the utterance and you sometimes land in a passage where the ball is out. A clip that opens on players waiting for a throw-in is no use to anyone.

So whistle sounds and total on-screen motion are used to estimate in-play segments. If a clip's start lands in a dead segment it is pulled forward to the restart, and the end is cut at the next stoppage.

But this one I do not trust yet

The accuracy of this detector has never been measured. It has been run on synthetic data, but that test is circular — the still segments in the synthetic sample are a flat colour, so their frame difference is exactly zero. It cannot fail to separate them.

Measuring it on a real match means hand-labelling ground-truth segments and comparing. I have not done that.

07What is not proved

There is no accuracy figure I can currently state about this tool. The means to measure it are built; the measurement has not been made.

StageBuiltSyntheticReal matchAccuracy measured
① Time syncyesverified——
Squad vocabularyyes33 tests——
② In-play detectionyescircular——
③ Transcriptionyes———
④ Tactical taggingyes———
⑤ Clip boundariesyes———
⑥ Two-angle playbackyes———
On-site marking (§05 revision)not built———

What the next test will measure

A single real shoot fills in much of the table above. Four things to measure.

  1. Utterance detection rate — the share of actual instructions the transcription caught, checked by listening back to the recording
  2. Tag conversion accuracy — of the utterances caught, the share where phase, concept and subject are all correct
  3. Player identification accuracy — the share where number and name are attached correctly, measured with and without the squad list injected. Vocabulary injection is the central claim of this design and has no evidence behind it yet, so this comparison comes first
  4. Clip validity — the share where the passage the manager meant actually falls inside the clip

And the 6.5 seconds in §02. That is a value I put into the synthetic test, not one measured on real hardware. Running two devices for ninety minutes and measuring how far they actually drift is — given that it is the starting point of this whole design — the first number to confirm.

08Why publish it in this state

The convention is to publish when it is finished. But the interesting part of building a tool usually happens before it is. Why the auto-recording glasses were dropped, why four claps and not one, why "this time" must not be touched — none of these judgements survive into a finished product page.

And writing down the current state precisely means I can check later what actually changed. When the field test is done I will update the table in §07, and this piece will be revised. Whether my predictions held will be visible in that table.

Designed and working are different words. This is a record written with its own position stated — near the beginning.

Where this tool is heading

This is not a standalone tool but one component of a larger idea: an AI sitting beside the manager, watching the same match and trading evidence with him. In that idea this tool is the ears and eyes — the input organ that captures what he says and what he looks at, and turns it into data.

That piece sets out what the Laws of the Game actually permit, and what such an AI may and may not say.

The idea this belongs toThe AI sitting next to the manager — HOVI →