Offline-First Sales App

Zero signal is not zero excuse.

Built for the terai and the hills, not just the city center — every screen works with no connection, then syncs cleanly when it returns.

What happens with no signal

Nothing blocks, nothing gets lost — it just waits its turn.

1

Record created locally

Check-in, order, or complaint saved instantly to the device, no spinner, no waiting.

2

Queued for sync

A visible "pending sync" badge shows on the record — the rep can keep working.

3

Auto-retry on reconnect

Exponential backoff per item — one failure never blocks the rest of the queue.

4

Conflict resolved server-side

Price and approval status: server wins. Notes: last write wins. The rep sees what changed.

Sync engineering, not an afterthought

Offline behavior is built into every screen from day one, not bolted on later.

Local-First Storage
A relational offline mirror keeps the full route, catalog, and recent history on-device, always readable.
Idempotent Sync
Every mutation carries a client-generated ID — resubmitting never creates a duplicate record.
Independent Retry Queue
A failed photo upload never blocks a check-in from syncing — every item retries on its own schedule.
Server-Stamped Time
Device clocks aren't trusted for ordering — the server's received-at timestamp is authoritative.
Visible Sync Status
A persistent icon and count in the app chrome — tap it to see exactly what's pending and why.
Stale-Sync Alerts
A rep with no sync for 4+ hours during work hours is flagged to the manager — not mistaken for inactivity.

Works in the field. Actually.