Abhilash
Back

abhilashbera.dev › work › field-operations-app

Field Operations Mobile App

Mobile · React Native · Offline-first

A React Native application for inspection crews who work in places where the network is a suggestion, not a guarantee.

Year
2024
Role
Mobile · Backend
Status
Shipped
Stack
React Native · Expo
Mobile app screens showing job list, inspection form and sync status

Problem

Inspections were recorded on paper, photographed, and typed into a system that evening — losing detail and a full day. Existing apps assumed a connection and simply failed at the site, which meant crews stopped trusting them within a week.

Solution

Every write goes to a local SQLite database first and the interface never waits on the network. A sync engine reconciles queued mutations when connectivity returns, resolving conflicts with a last-writer-wins policy per field rather than per record, so two people editing different parts of the same job never collide.

Features

  • 01

    Offline capture

    Forms, photos and signatures recorded and queued locally with no connection required.

  • 02

    Field-level sync

    Conflict resolution per field, with an audit trail of what the server changed and why.

  • 03

    Media pipeline

    Photos compressed on device and uploaded opportunistically on a metered-connection policy.

  • 04

    Job dispatch

    Schedulers assign work from the web console; devices pull the day's route on first signal.

Screens

Inspection form being completed on a phone with photos queued
Capture — every field writes locally first
Sync queue showing pending and completed mutations
Sync queue — reconciles when signal returns

Technology

Mobile

  • React Native
  • Expo
  • SQLite
  • MMKV

Backend

  • Node.js
  • Express
  • Sync API

Data

  • PostgreSQL
  • S3

Infrastructure

  • EAS Build
  • Sentry

Architecture

01Device

React Native App

Forms · Camera

SQLite + Queue

Local source of truth

02Service

Sync API

Merge · Conflict rules

Media Worker

Compress · Upload

03Data

PostgreSQL

Jobs · Inspections

Object Storage

Photos · Signatures

04Console

Web Dispatch

Scheduling · Review

Exports

Client reporting

Request flow — left to right

Result

Reports are filed from the site instead of that evening, and crews stopped carrying paper as a backup — the quiet signal that an offline app is actually working.

Core flows work offline
100%
Report turnaround
1 day → live
Single codebase
iOS + Android