Case study · 2025 · Power Utilities · Construction

Offline-First Field App for a Utility Services Contractor

A utility services contractor ran 200 technicians on printed job packs and end-of-day data entry, because their work happens exactly where mobile coverage ends: substations, easements, rural feeders. We built an offline-first Flutter app that assumes no signal by default — jobs, maps, forms, and photos all capture locally and reconcile cleanly when the truck rolls back into coverage.

The challenge

Every prior app attempt had failed the same way: built online-first, it fell apart in the field, and crews went back to paper within weeks. Trust was the real constraint, not technology.

The data mattered downstream — utility clients audit completed work orders, and photos, form values, and timestamps re-keyed from paper at 6 p.m. were both late and error-prone.

What we built

01

Offline as the default path

A local SQLite store is the source of truth on device; sync is an opportunistic background process with field-level conflict resolution, so nothing a technician does ever waits on a signal bar.

02

Job packs that brief themselves

Each job carries its site maps, safety notes, asset history, and required form set, downloaded overnight on depot Wi-Fi — crews start the day fully briefed with zero connectivity.

03

Structured capture, not free text

Dynamic forms per work type with validation at entry, required photo checkpoints auto-tagged with asset and location, and digital sign-off — audit-ready the moment it syncs.

04

Crew-tested rollout

Two crews ran a four-week field pilot with weekly ride-alongs; the backlog was reordered from what broke in trucks, not what looked good in the office.

The results

6.5 hrs
Weekly time returned per crew

paperwork and end-of-day re-keying eliminated

+17 pts
Same-day job closure

63.8% → 80.6% over six months

100%
Capture without coverage

all job data records offline and syncs later

  • Crews recovered about 6.5 hours per week previously spent on paperwork and evening data entry.
  • Same-day job closure rose 17 points as completion data started arriving with the sync instead of the next morning.
  • Work-order audit findings from missing or mismatched documentation dropped to near zero in the client's quarterly review.

Client identities stay confidential; figures are rounded from end-of-engagement delivery reporting.

Stack & expertise

  • Flutter
  • Dart
  • SQLite
  • GraphQL
  • Firebase (push)
  • Mapbox tiles

Ready when you are

Build the software solution your roadmap needs.

Schedule a Call