Northwind — Field service

Offline-first field operations for 4,000 technicians

A dispatch and job-completion app that keeps working three floors underground, then reconciles cleanly the moment signal returns.

Platforms

iOS · Android

Duration

22 weeks

Delivered

2025

Faster average job completion
62%Faster average job completion
Internal app store rating
4.9★Internal app store rating
Crash-free sessions
99.98%Crash-free sessions
Records lost to sync conflicts
0Records lost to sync conflicts
The problem

What we were handed.

Northwind's technicians spend their days in basements, plant rooms and lift shafts — the exact places mobile signal disappears. The legacy web app assumed connectivity, so technicians were photographing forms on paper and re-keying them at night. Roughly nine percent of jobs were being invoiced late or not at all.
Native iOSNative AndroidProduct designBackend & APIs
The approach

Four decisions that mattered.

  1. 01

    Rebuilt the data layer as an offline-first store with a deterministic conflict-resolution policy, so a job edited on two devices reconciles to a single correct record rather than the last write winning.

  2. 02

    Designed the job flow around one-handed use with gloves on: 56pt targets, high-contrast states legible in direct sunlight, and a completion path that never requires typing.

  3. 03

    Moved photo capture and upload into a background queue with resumable transfers, so a technician can finish a job and drive away while 40 megabytes of evidence uploads behind them.

  4. 04

    Shipped a supervisor view built on the same sync engine, giving dispatch a live picture that stays accurate even when half the fleet is dark.

Built with

  • Swift
  • Kotlin
  • SQLite
  • CRDT sync
  • Postgres
The outcome

Where it landed.

Within two quarters of rollout, paper forms were gone from the workflow entirely. Average job completion time dropped by 62%, and the invoicing gap that had been costing Northwind roughly $2.1M a year closed almost completely. The app now runs on every device in the fleet, including hardware Northwind had assumed it would need to replace.

We had been told twice that offline-first was not realistic for our data model. Devora had a working prototype reconciling real conflicts in nineteen days.

Priya RaghunathanVP Engineering, Northwind