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?