Sync Model

Pattern: Read-Down, Write-Up

  1. Before event: Devices pull down all structural data (drills, roster, course config).
  2. During event: Devices only create new data (score entries), queued locally.
  3. 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.