The challenge
Vertex's 140 field engineers serviced industrial equipment, frequently in basements, plant rooms and rural sites with no mobile coverage. Job details went out on paper and came back days later, often incomplete.
Invoicing lagged service delivery by an average of nine days, and roughly 12 percent of jobs were invoiced incorrectly because the paperwork was ambiguous.
What we built
We built an offline-first React Native app where the entire day's job list, customer history, equipment records and parts catalogue are available with no connection. Engineers capture readings, photographs, parts used and a customer signature locally, and everything syncs when a connection returns.
Conflict handling was designed explicitly rather than left to chance: server-authoritative for scheduling data, client-authoritative for work performed, with a supervisor review queue for genuine conflicts.
How we delivered it
We spent a week shadowing engineers before designing anything, which changed the design substantially. The original plan assumed a phone; engineers overwhelmingly preferred a tablet because they wore gloves. Form fields were enlarged and the flow was restructured so a job could be completed with large touch targets and minimal typing.
Sync had to survive the specific failure mode of a device that reconnects briefly in a lift and loses signal again mid-upload, which drove a chunked, resumable design.
The results
Invoices now go out the same day, against a nine day average previously, which improved cash collection materially. Incorrect invoices fell from 12 percent to 1.4 percent because data is captured once at source.
Engineers complete an average of 1.3 more jobs per day, recovered mostly from time previously spent on paperwork and phone calls to the office.