No events yet. Seek the video, pick a team, then type a shirt number and an event hotkey (e.g. 2f — a pass names the receiver too, 1s2) to tag.
Event types + Macro—
Event types— one hotkey, one event
Macro— one hotkey, several events at once
Press + Add Macro and type the events the way you type them in the entry box —
qq*s — then give the macro its own hotkey, e.g. qs.
From then on 1qs2 tags exactly what 1qq*s2 tags.
Stats
Match duration → timeline
H2 starts at this on the clock
Half 1 (original video time)
Half 2 (original video time)
Enter times as mm:ss (the original video's clock). Use ⏱ Use current to grab the current
video position. With Apply to timeline on, the Timeline column shows match time: Half 1 starts at
0:00, Half 2 starts at minutes-per-half (e.g. 40:00) — stoppage time runs past it naturally.
Submit Analysis
Cloud sync (real-time)Not connected
The connection this browser uses to reach the database. It is made automatically on
load from the values above — only come here to point the site at another project.
Matches themselves live under ⚽ Match.
Match
One person presses + New match and shares the link (or the Match ID). Everyone who opens
it sees each other's tags live. Events are stored in Supabase (the video stays on your machine).
Nothing here yet? The database is not connected — check ▾ Other → ☁ Cloud.
New match
vs
Type a team name to search the database — pick the team from the suggestions. No suggestions
means the team is not in the database yet: press + New team to save it before creating the match.
Video sourceNo video
Paste a public direct link to an .mp4/.webm. If you're in a shared match (Cloud), the URL is
saved to the match so everyone plays the same video and it persists on reload.
Uploading… 0%
Uploads straight to your R2 bucket, then saves the public link to the match.
Use this for matches you keep on your own machine. Tagged events still sync to the cloud; only the video stays local.