Think Build Implement Repeat
London, UK +44 7367 067226
WhatsApp FOLLOW f in X
Mobile Apps

Offline-First Apps for Field Teams

Last updated:

What offline actually means

Not caching the last screen. Offline-first means the device holds its own database, every action works against local data, and changes synchronise when a connection returns — including changes made by other people while you were away.

That last clause is where the cost lives. Everything else is straightforward.

Who genuinely needs it

  • Engineers in plant rooms, basements and lift shafts
  • Delivery and logistics across rural coverage
  • Warehouses with poor internal signal
  • Agriculture, construction, utilities, marine
  • Anyone whose day fails if the app stops working for twenty minutes

The test is not whether connectivity is occasionally poor. It is whether the work stops when it is. A sales app that cannot load for a minute is annoying; an engineer who cannot close a job is stuck on site.

The conflict problem

Two people edit the same record while both are offline. Both sync. Now there are two versions and the system must choose — or ask.

  1. Last write wins. Simple and silently loses data. Acceptable only for genuinely disposable fields.
  2. Field-level merge. Different fields merge cleanly; the same field still conflicts.
  3. Append-only. Record events rather than states. Avoids most conflicts and is our usual recommendation.
  4. Ask a human. Correct, and unusable if it happens often.
Append-only design is the single most useful decision in offline apps. A job log with timestamped entries has no conflicts; a job record with an editable status field has them constantly.

Designing the data to avoid conflicts

Most conflict problems are avoidable at the modelling stage. Give each device its own lane: one engineer owns their own job entries, readings are appended rather than edited, statuses move forward through a defined sequence rather than being set arbitrarily.

  • Prefer “add a reading” over “update the reading”
  • Prefer state transitions with rules over free-form status fields
  • Assign ownership so two people rarely edit the same record
  • Keep server-authoritative anything that must be globally consistent, like stock

What the user has to see

Offline apps need honest status. The user must always know whether what they are looking at is current, and whether their work has been saved anywhere but this phone.

  • A clear indicator of connection state
  • How many changes are waiting to sync
  • When data was last refreshed
  • An explicit warning before anything that needs a connection
  • Visible failure — never a silent drop

The nightmare scenario is an engineer completing forty jobs, none of which synced, and finding out on Friday. One visible counter prevents it.

What it adds to the project

ComponentExtra effort
Local database and schema1–2 weeks
Sync engine2–4 weeks
Conflict resolution1–3 weeks
Sync status interface3–5 days
Testing the offline paths1–2 weeks

Roughly 20–40% on top of the same app online-only. It is worth every day of it when the field genuinely needs it, and it is the first thing we cut when it is being requested for comfort.

Frequently asked questions

Can we add offline later?

Yes, and it is more expensive than building it in, because the data model usually has to change. If you are confident you will need it, build for it from the start.

How much data can a phone hold?

Far more than most business apps need — hundreds of megabytes is routine. The constraint is sync time and battery, not storage.

What about photos taken offline?

Queued and uploaded when connection returns, usually compressed on the device. A day of site photos can be a lot of data on a mobile connection.

How do we test offline behaviour?

Aeroplane mode is the start, and the harder cases are the interesting ones: a weak connection, and a connection that drops mid-sync. We test those deliberately.

Keep reading

Considering an app for your business?

Tell us how often a customer would open it. That one answer usually settles whether you need an app or a much cheaper mobile site.

Book a free 30-minute call Get a project estimate WhatsApp us

Related services

What we build for problems like this one

Mobile App DevelopmentCustom Software DevelopmentWeb Development