How Offline Scoring Works

Ranges often have poor or no mobile signal. DeadCenter is built from the ground up to handle this.

1

Load the match while online

Before heading to the range, open the scoring app and select your match. The full match data (target sets, gongs, squads, shooters, existing scores) is downloaded and cached locally in the browser’s IndexedDB.

2

Score offline — everything saves locally

Every tap of Hit, Miss, or Shot Not Taken is instantly saved to the device’s local database. Stage times are saved locally too. The app works exactly the same whether you’re online or offline — no loading spinners, no errors.

3

Auto-sync when signal returns

A background sync runs every 15 seconds. When connectivity is detected, all unsynced scores and stage times are batched and sent to the server in a single API call. The server uses upsert logic so duplicate submissions are harmless.

4

Scoreboards update live

Once scores reach the server, the TV scoreboard and mobile live page pick them up on their next 10-second refresh cycle. Spectators see results appear in real-time as devices sync.

Under the Hood

Local Storage

Scores are persisted in IndexedDB via Dexie.js. Each score is keyed by (shooterId, gongId) so re-tapping the same target overwrites rather than duplicates.

Sync Protocol

The sync payload includes scores, stage_times, and deleted_scores (for Shot Not Taken reversals). The server processes deletions first, then upserts.

Conflict Resolution

Last-write-wins. Each score carries a device_id and recorded_at timestamp. Multiple devices can score different stages simultaneously without conflict.

Pending Counter

A badge in the scoring app header shows how many unsynced items exist. Tap "Sync" to force an immediate upload, or let it happen automatically.

Download for Offline

Explicitly cache matches before you leave for the range — so you know you’re covered even with zero signal.

One-Tap Download

Each match on the scoring app’s match list has a Download button. Tap it while you have connectivity and the full match payload — squads, shooters, target sets, and existing scores — is saved to your device.

Offline Ready Indicator

Once downloaded, a green Offline Ready badge appears next to the match. You can see at a glance which matches are cached and ready to score without any network connection.

Auto-Cache on Entry

Even without the download button, simply opening a match to score it will cache the full data automatically. The indicator updates when you return to the match list.

Clear Cache

Done with a match? Tap Clear to free up device storage. The match data is removed from the local database but nothing on the server is affected.