Scottish Athletics Officials App
An offline-first desktop app that put live results on the public site the same day it shipped
Overview
Daniel delivered a tablet-friendly, offline-first Electron desktop app that runs the officiating workflow at live athletics competitions and auto-publishes results to the public website as they happen. It went into live competition use on the very day it shipped, connecting the on-track timing and photo-finish hardware to a real-time public results feed.
The problem
A live athletics meet runs on tight margins with unreliable venue connectivity, physical timing and photo-finish hardware, and officials moving between the call room, starters and track judges. Results have to be accurate, immediate, and published to the public without an internet connection ever being guaranteed. Any tool that assumed a stable network, or that could lose or corrupt a round of results, would fail exactly when it mattered most — during competition.
Approach
Built offline-first so the venue's network is never a dependency
Chose an Electron desktop architecture with local-first data so officials could keep working through connectivity drops, syncing when the network returned rather than stalling mid-event.
Designed tablet-friendly workflows for every official role
Shaped the interface around how officials actually work — call room, starters, track judges and photo-finish — so each role had a fast, touch-friendly workflow suited to the trackside environment.
Wired a real-time results pipeline to the timing hardware
Monitored the local timing and photo-finish systems with file-system watchers and robust athletics results parsing, handling multi-round events and bulk imports, then pushed results straight into a live pipeline.
Auto-published live results to the public website
Connected the pipeline to the public site so results appeared for spectators automatically as they were confirmed, removing manual publishing steps during a fast-moving meet.
Hardened for competition-day reliability
Built in secure FTPS publishing, database sync, rollback safeguards and defensive error handling so a single bad file or dropped connection couldn't corrupt or lose a round of results.
Impact
- Shipped and used live in a real competition on the same day — validated under genuine event conditions, not a rehearsal.
- Kept officials fully operational offline, so unreliable venue connectivity no longer threatened the meet.
- Automated the path from timing hardware to public results, eliminating manual publishing during competition.
- Handled the messy realities of live athletics — multi-round events, bulk imports and varied results file formats — through robust parsing and file watchers.
- Protected result integrity end to end with secure FTPS publishing, DB sync, rollback safeguards and defensive error handling.
Want something like this?
I help teams take products from empty repo to production. Let's talk about what you're building.
Start a conversation