helper.lt
Menu

Field technicians' app that works offline

Tasks, customer sites, equipment, van stock and payments – on the technician's phone, even where there is no signal.

Developed continuously since late 2023, it syncs 33 data types to the phone.

Client
Equipment sales and service company
Our role
Mobile app
Years
2023–2026
Technologies
Flutter / Dart, SQLite, Node.js / TypeScript (Koa), MongoDB change streams, Server-Sent Events, Firebase Cloud Messaging, Google Maps, Sentry, GitHub Actions

The task

Service technicians need their tasks, customer sites and installed equipment, van stock, photos, calls and payments wherever they are – including places with a poor connection or none at all.

The solution

A Flutter app on a local SQLite database: every screen reads local data, and every change is queued and synced.

What the app does

  • Task list, calendar and map.
  • Customer sites and installed equipment, with their service history.
  • Materials taken from the technician's own van stock.
  • Leads and service requests.
  • Test results, photos and video.
  • Calling customers, with call logging and reminders to call again.
  • Payment links and an in-app bug report.

Alerts for urgent tasks are being rolled out now: technicians' phones ring in turn until one of them accepts the task.

Sync

The app runs on a schema-driven sync engine:

  • One schema file, from which the app's code is generated.
  • Per-user permission rules.
  • Real-time updates over Server-Sent Events.
  • An interrupted re-download resumes where it stopped.
How the sync works
  1. The app on the phone

    • The data the work needs, in a local database
    • Works offline
    • Changes wait in a queue
  2. Changes go up in batches

    Only new data comes down

    Sync server

    Conflicts resolved on the server

  3. Other devices

    Get the changes in real time

Results

  • Developed continuously since late 2023.
  • 33 data types are synced to the phone.
  • The interface is in Lithuanian, English and Russian.
  • Releases go to TestFlight and Google Play from CI.

Want a similar solution?

A few sentences are enough – we'll reply and talk through how we could help.