Fernway Utilities · 2025
An offline-first app for field engineers
Engineers inspecting water meters filled in paper forms that were typed up days later. We built a mobile app that works with no signal and syncs photos and readings when it can.
- Client
- Fernway Utilities
- Year
- 2025
- Role
- Mobile, sync engine, back office
- Duration
- 6 months
- Services
- Mobile app
- Offline sync
- Integrations
The problem
Fernway's 85 field engineers inspect and replace water meters across a mostly rural region. Each visit produced a paper form and a handful of photos on a personal phone. Office staff typed the forms into the asset system, usually three to five days later. Around 9% of forms had a missing or unreadable meter serial, which meant a second visit.
A previous tablet app had failed because it needed a connection to load each job, and a third of the region has no reliable signal. Engineers went back to paper within a month. The brief to us was blunt: if it does not work in a basement with no bars, do not bother. It also had to run on the mid-range Android phones the company had already bought.
Process
- 01
Offline is the default state
We treated connectivity as a bonus. Each morning the app downloads the engineer's jobs, asset history and form definitions into SQLite on the device. Every action writes locally first. A sync queue pushes changes when a signal appears, with photos uploaded separately in the background so a slow connection never blocks a form submission.
- 02
Conflicts with clear rules
Two people occasionally touch the same asset, for instance when office staff update an address while an engineer is on site. We avoided a general merge algorithm and wrote field-level rules with the operations team: site readings always win from the field, contact details always win from the office. Anything else lands in a small review list.
- 03
Scan instead of type
Most data errors came from copying long serial numbers by hand. We added barcode scanning for meter serials with on-device recognition, plus range checks on readings that flag a value wildly different from the last visit. We chose React Native so the office web app and the mobile app could share validation code in TypeScript.
Selected images
The test was a meter cupboard under a car park with zero signal. It worked there on day one, and that is when the engineers started taking it seriously.
Outcome
The app rolled out to all 85 engineers over a month, starting with the depot that had the worst signal. Inspections now reach the asset system within an hour of signal returning, not days later. Repeat visits caused by bad data fell from 9% to 1.5%, and three office roles moved from data entry to scheduling.
- <1 h
- visit to asset system, was 3–5 d
- 1.5%
- repeat visits, down from 9%
- 85
- engineers using it daily
Keep reading
All work