Mobile offline sync

How driver and warehouse apps keep working without connectivity.

2 min readLast updated 13 Apr 2026

Warehouses have dead zones; trucks drive through them. The mobile apps are built offline-first so work never blocks on a signal.

What works offline

  • View today's trips / tasks (pre-synced on login or last sync).
  • Capture events: stop arrive / depart, picks, putaways, counts, PODs, photos, signatures.
  • Create exceptions (damage, shortage).
  • Read attached documents (trip sheets, BLs, picking lists).

What needs a signal

  • Fetching newly assigned tasks since last sync.
  • Real-time dispatcher messages.
  • Paying / verifying external services (e.g. toll-tag API calls).

How sync works

  • App keeps a local SQLite store of all assigned work + captured events.
  • Events are queued with a device-assigned id; flushed to server as soon as connectivity returns.
  • Server de-duplicates on device-id + timestamp.
  • Conflicts resolved server-side: last-writer-wins for most fields; event-log-append for state changes (never silently drop events).

Visibility

  • Device shows a sync badge: green (synced < 1 min), amber (< 30 min), red (> 30 min).
  • Dispatcher / supervisor dashboards show last-seen-at per driver / operator.

Data retention on device

  • Today + next-day tasks on the device.
  • Completed events kept for 7 days post-sync for audit.
  • Sensitive data (customer PII) cleared on logout.

Storage + battery

Apps optimised for:

  • < 200MB install size.
  • Minimal background CPU.
  • Battery-aware sync cadence (less frequent on low battery).

Photos + signatures

Large attachments (photos, signatures) upload opportunistically on Wi-Fi where possible, cellular otherwise. Small compressed thumbnails sync immediately; full-resolution async. Server stores both.

Failure modes

  • App kill / reboot — local queue preserved.
  • Wrong time on device — server rewrites to server-time on receipt, keeps device-time as metadata.
  • Version mismatch — app warns and prompts update; can still sync pending events.

Security

Local data encrypted with platform keychain. PIN / biometric re-unlock required after inactivity. Stolen device: remote-wipe via admin console.

Was this article helpful?