A cross-platform field application demonstration — offline-first data capture, conflict-aware sync and on-device document capture.
- Client
- Northfield
- Industry
- Logistics & Operations
- Year
- 2026
- Services
- Mobile ApplicationsSoftware & Product EngineeringDocument AI & OCR

Overview
What this project is.
Northfield models a mobile tool for teams working away from a desk and frequently away from connectivity. It demonstrates how we approach offline-first architecture, which is the decision that shapes everything else in a field application.
Challenge
The problem to solve.
Field applications are usually specified as though the network is always available, then fail in exactly the places they are needed. Retrofitting offline support is not a feature addition — it changes the data model, the sync strategy and the interface.
Insight
What we noticed.
Offline-first is a data-modelling decision made on day one. Once the device is the source of truth until it can sync, everything downstream follows: conflict resolution, queued actions, and an interface that is honest about what has and has not reached the server.
Strategy
The approach taken.
Treat the local database as primary and sync as a background reconciliation problem. Queue actions durably, resolve conflicts with explicit rules rather than last-write-wins, and show sync state in the interface so users always know where their work stands.
Creative Direction
How it looks and moves.
Large touch targets, high-contrast typography readable in daylight, and interface states that assume gloves, poor light and one-handed use. Sync status is surfaced persistently rather than buried in a settings screen.



Execution
What the work involved.
Cross-platform application shell for iOS and Android
Offline-first local storage as the source of truth
Durable action queue with conflict-aware sync
On-device photo and document capture with OCR
Push notifications and background sync
Staged release with crash and performance monitoring
Deliverables
- iOS & Android applications
- Sync service & APIs
- Offline data layer
- Document capture
- Release pipeline
- Monitoring
Stack
- React Native
- TypeScript
- FastAPI
- PostgreSQL
- Offline storage
- Push notifications
What it sets out to achieve
The outcome the work is built for.
This is a capability demonstration, so the outcomes below describe design intent rather than measured performance. We publish numbers only where a client has verified and approved them.
Usable without a network
The device holds the truth until it can sync, so work never stops at the edge of coverage.
Conflicts resolved on purpose
Explicit rules rather than last-write-wins, so field edits are not silently discarded.
One codebase, both platforms
Cross-platform where it fits, which halves the cost of supporting iOS and Android.

