Broadcast operator console
APMC, 2026
A macOS app that broadcast operators use live during games, built in Flutter.
Context
During a live game, operators need one desktop tool to run the stream: pick the input, trigger ad breaks and keep the feed healthy.
Problem
It had to be dependable under live conditions, on a stack the web team had not used before.
What I did
- Learned Dart and Flutter for the project.
- Built the ad-break controls, including recovering a break whose response was lost and importing breaks from a spreadsheet.
- Improved the input switcher: readable input names and aliases, and a confirmation before a route group changes input.
- Added a fullscreen video mode for macOS that keeps the audio meters on screen.
- Fixed SRT playback for feeds protected with a passphrase.
- Cut and shipped releases myself.
Outcome
- Used live, during games, by the people running the broadcast.
- 86 pull requests over its life.
She picked up Flutter at a remarkable pace and implemented advanced features with minimal guidance. She pointed out technical improvements in my PRs and took the initiative to introduce test-driven development into that codebase.
Stack
Flutter, Dart, macOS, SRT
Want to talk about work like this?
I’m happy to go deeper on any of it, including what I’d do differently.