Field ops · Field inspection
AS Data Collector
Inspection checklists that finish where there is no signal, and reconcile when there is.
- Role
- Mobile lead
- Duration
- 11 months
- Team
- 2 from our side
- Sector
- Field inspection
Interface illustrations, not screenshots — the client's product is under agreement.
The situation
Inspectors work sites with no reliable connectivity — basements, rural infrastructure, buildings mid-construction. The job is a long structured checklist with photographs attached.
Treating offline as an error state was not an option. Offline is the normal condition of this application.
The problem
A queue that replays writes on reconnect is straightforward until two inspectors edit the same record from two devices, both offline, and both come back.
Last-write-wins is unacceptable when the thing being overwritten is an inspection finding with legal weight attached.
What we built
- 01
Local-first storage with Realm
The device is the source of truth during a run. The full checklist, its validation, and its photographs work with the network switched off entirely.
- 02
A custom conflict-resolution layer
Field-level merge rather than record-level, with genuine conflicts surfaced to a human instead of silently resolved. Nothing is discarded without someone deciding.
- 03
A sync queue that survives interruption
Idempotent, resumable, and safe against being killed mid-upload — because a phone in a truck will be killed mid-upload.
- 04
Photograph handling built for bad networks
Compressed and chunked on the device, uploaded independently of the record, so a large attachment cannot block a completed checklist from arriving.
The outcome
Inspectors complete full checklists with no connectivity; queued records sync on reconnect with zero data loss.
The connectivity question left the inspector's job. Records queue locally and reconcile when signal returns, with real conflicts escalated rather than resolved behind someone's back.