Logistics client, UK

Cross-platform mobile app for real-time logistics tracking

A high-performance React Native / Expo app that lets field operators track inventory and log tasks in real time, even while offline.

9:41 AM
OFFLINE
Position Barcode
Local Sync Cache8 scanned items
9:41 AM
ONLINE
Syncing Manifest

Transferring delta log files to central databases...

Logistics Dispatcher console
Driver Map tracker - LIVE
Auto-Merges
✓ Route #22 (Conflict resolved)
✓ Driver sync #482 (Merged)
Mobile (iOS/Android)
Platform
6 Weeks
Timeline
1 Mobile Dev, 1 Lead
Team Size
SQLite & Cloud Sync
Integration
React Native, Expo, SQLite
Tech Stack
The Challenge Kicker

The Challenge

Field staff operating in remote warehouses and transport vessels had no reliable way to track inventory. Existing mobile tools were slow, required a persistent cellular connection, and frequently lost data when synchronization failed.

  • Lack of internet connections in metal-shielded warehouses and offshore vessels.
  • Constant application crashes and memory leaks on older barcode scanning devices.
  • Manual resolution of database sync conflicts due to simple 'last-write-wins' rules.
Operations Bottleneck

Connection dead zones causing tracking synchronization losses.

Infrastructure Solved

Offline SQLite table merges resolving conflict states.

The Solution Kicker

The Solution

We built a cross-platform mobile application using React Native and Expo, utilizing a local-first SQLite database configuration. The app logs actions offline and schedules synchronization queues that resolve conflicts automatically when a connection is re-established.

  • Offline-first architecture with transactional local SQLite database logs.
  • Background queue manager syncing updates with backends via delta updates.
  • Custom merge resolutions handling concurrent updates on inventory sheets.
Workflow

Our Approach

1

Hardware Audit

Audited warehouse scanner devices to target memory constraints.

2

Local-First Setup

Designed an offline-first transactional schema on SQLite.

3

Delta Sync Logic

Wrote delta synchronization logic sending lightweight change log diffs.

4

Scanner Hooks

Hooked native hardware laser scanner APIs into React Native events.

5

Conflict Resolution

Implemented timestamp and sequence validations to merge entries automatically.

6

Warehouse Simulation

Tested app functionality inside Faraday bags to simulate dead zone drops.

Flowchart

User Journeys

Warehouse Operator

Logs in and syncs primary manifest records while on Wi-Fi
Enters cargo holds with zero cellular signal coverage
Scans barcodes of incoming pallets, logging data locally
Exits hold, app auto-reconnects and pushes updates

Logistics Dispatcher

Views real-time inventory updates on dispatcher portal
Monitors auto-merged conflict reports on overlapping routes
Pushes route updates instantly to drivers' mobile applications
Technologies Used

Tech Stack

Mobile Client

  • React Native
  • Expo modularity
  • TypeScript

Local Cache

  • SQLite client
  • Atomic transactions

Sync Services

  • Delta sync protocol
  • Timestamp merge conflicts

DevOps

  • EAS Build
  • Fastlane integration
Architecture & Code

Development Process

SQLite Cache Layer

Wrapped database operations in atomic transactions to guarantee data consistency during abrupt shutdowns.

Expo Native Modularity

Configured custom Expo plugins to access zebra hardware scanners and system network states.

Delta Sync Efficiency

Designed sync payloads that send change lists rather than full tables, saving battery and data usage.

Automated Conflict Resolver

Engineered custom conflict handlers that resolve status mismatches on the central server.

Outcome

Results & Impact

Measurable efficiency gains, reduced operations costs, and reliable integrations delivered.

3,000+
active field operators
<200ms
real-time sync latency
99.9%
offline synchronization rate

Building something ambitious, or fixing something that's gone sideways?

Tell us where you are and where you're trying to get to. We'll tell you honestly whether — and how — we can help.