Mobile & Desktop Apps
A field app that works in a basement plant room
Engineers recorded jobs on paper because the existing web portal was unusable without a signal — and plant rooms have no signal.
- Client
- Facilities maintenance contractor
- Sector
- Construction & property
- Year
- 2025
- Service
- Mobile & Desktop Apps
- 68
- Field engineers live
- 100%
- Jobs captured offline-first
- 3 days
- Faster to invoice
Engagement
Stack involved
- React Native
- TypeScript
- SQLite
- Entra ID
- Azure Functions
The situation
Job sheets were completed on paper, photographed, and typed up by office staff days later. Invoicing lagged the work by over a week, and photographic evidence of completed jobs was frequently missing when a client disputed one.
What we did
- 01
Two weeks shadowing engineers on site, which is where the offline requirement stopped being negotiable.
- 02
Clickable prototype of the job-completion flow tested with six engineers before any production code.
- 03
Offline-first React Native app with a local store and a sync queue, holding a full day of jobs with no connection.
- 04
Conflict resolution designed against the contractor’s actual dispatch rules rather than a generic last-write-wins.
- 05
Single sign-on against the existing Entra ID tenant, so no new password and offboarding stays a single action.
The outcome
Sixty-eight engineers now capture jobs, parts, photos and signatures on device regardless of signal, syncing when they surface. Invoicing moved from over a week behind to next-day, and disputed jobs are settled with timestamped photographic evidence.
More work
Other engagements.
240 mailboxes off ageing Exchange in a single weekend
240
Mailboxes migrated
Read Legal & accountingA tenant audit that found eleven years of accumulated access
34
Findings, risk-rated
Read HealthcareNine clinics onto Google Workspace with sharing under control
9
Sites consolidated
ReadTell us what is breaking.
A short call, an honest read on whether we are the right fit, and a fixed-price proposal after discovery. No obligation and no sales sequence afterwards.