Sync Model
Pattern: Read-Down, Write-Up
- Before event: Devices pull down all structural data (drills, roster, course config).
- During event: Devices only create new data (score entries), queued locally.
- After event / when connectivity returns: Devices flush their local queue to the server.
Connectivity Reality
True offline scenarios are rare — most ranges have some cell signal. The more common scenario is a spotty connection with request timeouts. The queue-and-flush model handles this naturally: queue locally, attempt to flush opportunistically, retry on failure. Offline resilience is a byproduct, not a separate architecture.
Small Packets
With a strict schema and efficient serialization, score data packets are extremely small. Even a degraded connection can flush the queue successfully.
Both read-down data (drill definitions, rosters) and write-up data (scores) are minimal. A full event payload is likely under 50 KB. Individual score entries are 100-200 bytes. This means even a severely degraded cellular connection can handle sync.