Room six of an inventory, and the app spins
An inventory clerk is two hours into a check-in inventory for a large flat in a basement conversion. Signal comes and goes. In the fifth room, the app shows a spinner after a photo. In the sixth, it logs them out because a token could not refresh. When they log back in, the notes for rooms four and five are gone and only some of the photos uploaded.
They redo the missing rooms from memory and the photos still on the phone. The tenant is due to move in at noon. The clerk's employer, a letting agency or an inventory company, raises a support ticket that says the app lost my work again, and your team cannot reproduce it in the office.
Why inspection apps break on site
Inventories, check-ins, check-outs and periodic inspections happen inside properties, which are exactly where mobile signal is worst: basements, thick-walled older houses, rural lets, and upper floors of blocks with poor coverage. Apps built like websites assume a connection.
- Each note and photo is saved to the server as it is taken, so a dropped connection loses it.
- Login sessions expire mid-inspection and the app logs the user out.
- Photos are held in memory and lost if the app is closed or the phone runs low.
- There is no clear indication of what is saved on the device and what has reached the server.
- If two people edit the same inspection, the last save wins silently.
What lost inspection work costs
An inventory is evidence. At the end of a tenancy it is compared with the check-out report, and any gaps weaken the agency's position in a deposit discussion. Redoing a room from memory is not the same as recording it on the day. Clerks lose time, tenants wait, and agencies question whether your app can be trusted for the job that matters most.
Support suffers too. Faults that only happen on site are hard to diagnose, and a steady trickle of lost work reports is corrosive to your reputation with inventory clerks, who talk to each other.
How we build offline-first inspections
What we build treats the phone as the place where the inspection lives until it is safely on the server.
- Local storage of the whole inspection on the device: rooms, items, condition notes, meter readings and photos, saved as each is entered.
- Photos written to device storage immediately, compressed sensibly, and linked to their room and item.
- Background sync that uploads in small pieces when signal returns, retries safely, and never deletes local data until the server confirms receipt.
- Long-lived offline sessions, so the app never logs a user out mid-inspection; reauthentication happens when back online.
- A clear status indicator: saved on this phone, syncing, or safely uploaded, per room and for the whole inspection.
- Conflict handling if an inspection is edited in two places, showing both versions for a person to choose rather than overwriting.
- Diagnostic logs stored on the device and sent with a support request, so your team can see what happened on site.
| Situation | Old behaviour | Offline-first behaviour |
|---|---|---|
| Signal drops mid-room | Spinner, then lost notes | Notes saved on phone, sync later |
| Session expires | User logged out | Carries on, reauthenticates online |
| App closed or phone restarts | Photos in memory lost | Everything already on device |
| Two edits to one report | Last save wins silently | Both shown, person chooses |
| Support investigates | Cannot reproduce | Device log attached to ticket |
The basement flat, second attempt
The clerk works through all eight rooms. The status bar shows saved on this phone throughout. In the lift on the way out, the app picks up signal and starts uploading room by room; by the time the clerk reaches the car, everything shows as uploaded. The agency's property manager sees the finished report before the tenant arrives. When a clerk does hit a problem later in the year, the ticket arrives with the device log attached, and your team can see exactly what happened.
Is your app losing work on site?
- Clerks or property managers report losing notes or photos mid-inspection.
- Your app needs a connection to save each step.
- Users are logged out during long inspections.
- There is no indicator of what has reached the server.
- Support cannot reproduce on-site faults in the office.