Building for Teams Who Work Where There Is No Signal
Last updated:
Offline changes the architecture
An online application asks the server for data when it needs it. An offline-capable one holds its own copy, works against that, and reconciles later. That is a different design, not a setting.
Retrofitting it to an application built online-first is usually close to a rewrite of the data layer, which is why it belongs in the original scope.
Decide what must work offline
- Viewing today's jobs and their details — nearly always required
- Recording completion, photographs and signatures — the core of most field apps
- Looking up reference data such as parts or price lists
- Creating new records, which is where conflicts begin
Not everything needs to. Being explicit about the boundary keeps the build proportionate.
Sync conflicts are the real work
Two people edit the same record while offline. Both sync. What happens? Answer that before building, because the default — last write wins — silently discards someone's work.
- Field-level merging where changes do not overlap
- Explicit conflict presentation where they do
- Append-only structures for anything that can be, which avoids conflicts entirely
- Server-side rules for cases a human should not have to adjudicate
Design the interface for uncertainty
Users need to know what is saved locally, what has synced, and what failed. An app that looks identical whether or not data has reached the server destroys trust the first time something is lost.
A simple, visible sync status and a queue of pending items solves most of it.
Test in the real conditions
Turning wifi off at a desk is not a test. Real conditions include intermittent signal, which is harder than no signal: requests start, time out, retry and partially succeed.
Test in a basement, in a lift, in a vehicle moving between cells, and on a device with a nearly full disk. Each produces failures that clean testing never finds.
Budget realistically
Offline capability typically adds 30–50% to a field application build. That is the honest number, and it is why the boundary question matters — narrowing what must work offline is the main lever on cost.
Frequently asked questions
Can a web app work offline?
How much data can we store on the device?
What about security on lost devices?
Should the app hold historical data?
Field teams working in dead spots?
Tell us what must work without signal. The boundary determines the cost more than anything else in the build.
Related services
What we build for problems like this one