Building Offline-First Command Maps
Race command cannot depend on a perfect browser session. Operators need a map that restores state quickly, renders local topography, and keeps telemetry visible even if the venue loses connectivity mid-race.
- Base maps are stored locally so the course remains readable in disconnected environments.
- Operational state favors fast restore over ornamental UI transitions.
- Critical alerts are rendered from local event data, not third-party APIs.
Tiles belong near the event
Restore the operator's mental model first
Operational clarity beats decorative complexity
Tiles belong near the event
Public tile servers are convenient until hundreds of spectators open the same race map over a marginal connection. For command operations, we package the geographic layers that matter in advance and keep them close to the event.
That gives operators consistent topography, course overlays, and checkpoint context regardless of venue bandwidth. Remote viewers are optional consumers; command is the primary customer.
Restore the operator's mental model first
When the page reloads, the dashboard should come back with the same course focus, watchlists, and incident context the team was using thirty seconds earlier. A technically correct blank state still costs minutes of human re-orientation.
We prioritize persisted map bounds, focused runners, and alert filters because those are the pieces operators use to keep a coherent picture of the race.
- Persist current course and viewport
- Restore watchlists and command filters
- Reload recent SOS and stale-device alerts first
Operational clarity beats decorative complexity
The best race-day interface is the one that reduces scan time under pressure. We bias toward sharp contrast, obvious status color, and typography that makes telemetry legible at a distance.
That does not mean the map has to feel austere. It means every visual treatment has to defend its place against the operator's actual task: identify who is moving, who is missing, and which part of the course is at risk.