KICKOFF PULSE

Get Kickoff Pulse onto your laptop.

Kickoff Pulse runs at the touchline on your own machine. This page is what the current build is, what you need to run it, and how to get past the warnings an unsigned build earns from macOS and Windows.

The current build

Kickoff Pulse 1.31.0, released 2026-09-10. Every change is listed in the product’s own changelog, which ships with the app.

There is no installer to download yet, and we will not pretend otherwise. Kickoff Pulse is assembled on the machine that runs it: the build script wraps the app around the environment it creates on that laptop, so a bundle copied to a second Mac does not carry the product with it. Until it is signed, notarised and packaged, we set it up with you. Ask us for the build and tell us which laptop you use. That is the whole process, and it takes one call.

What you need

RequirementDetail
MacApple Silicon, macOS 11 or later. Intel Macs work through the openai-whisper fallback.
Windows PCWindows with PowerShell 7 or later.
Python3.13 or newer. The launcher creates its own environment on first run; an older interpreter quietly gives worse results, which is why the floor is a hard one.
OllamaThe llama3.2 model, running locally. It parses your spoken calls and drafts the post-match summary. Nothing is sent to a hosted model.
ffmpegAudio decoding for the voice path, and screen recording.
portaudioBuild dependency for the microphone input on macOS.
A camera feedA Veo stream URL or a webcam on a tripod. A fixed camera can be calibrated once so positions land on the pitch rather than in the frame.
PermissionsMicrophone for voice ingest; Screen Recording if you record the match on the laptop.

Installing an unsigned build

Kickoff Pulse is not code-signed and not notarised. Nothing about it is unsafe; it simply has no certificate, so both operating systems treat it the way they treat any software from an unknown developer. Signing and notarisation are a decision we have not made yet; these notes are what the product’s own documentation says in the meantime.

macOS

./build_app.sh assembles build/Kickoff Pulse.app, a thin launcher around this checkout's .venv. The project path is baked into the bundle, so it runs on the machine that built it and nowhere else — copying the .app to a second Mac does not carry Kickoff Pulse with it. Drag it into /Applications on the machine that built it, and rebuild it after moving the checkout.

Because the bundle is unsigned, macOS refuses any copy that arrived by download, AirDrop or archive with "Kickoff Pulse can't be opened because the developer cannot be verified".

  • Control-click (right-click) the app, choose Open, then Open again in the dialog. That records your consent for that copy; later launches are normal double-clicks.
  • Or clear the quarantine flag from a terminal:
    xattr -dr com.apple.quarantine "/Applications/Kickoff Pulse.app"

The first launch asks for Microphone permission (voice ingest) and, if you use the screen recorder, Screen Recording permission. Grant both to the app itself, not only to your terminal.

Windows

There is no .exe installer. Kickoff Pulse runs from the checkout with .\kickoff.ps1 in PowerShell 7+, which creates the virtualenv on first run.

Two things stop an unsigned script from a downloaded folder:

  • Execution policy. PowerShell will not run an unsigned script under the default policy. Allow it for one session:
    Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
  • Mark of the web. Files extracted from a downloaded .zip are blocked individually, and SmartScreen warns about the archive. Clear the mark on the checkout:
    Get-ChildItem -Recurse | Unblock-File

Cloning with git instead of downloading a zip avoids the second one entirely.

It works with no signal

Kickoff Pulse is local software, not a website with an offline mode. The camera feed, the model that reads it, the model that parses what you say and the match library are all on your laptop. There are no API keys to hold and no upload to wait for, so a ground with no reception is the normal case rather than an error.

Capture never depends on a server. A finished match is archived to the laptop first and pushed to your club library, or to Debrief for the post-match review, when there is a connection again. Nothing leaves the ground unless you send it.

Ready to run it at your ground? Get in touch and we will get you capturing before your next match.