Field Operations
A safari tourism operator in East Africa (confidential client) runs its daily operations in remote areas with no reliable signal. We built the Flutter app for its pilots and ground crews: manifests, passenger checks, load planning and sign-offs, all of which work offline and sync later.
The Challenge.
The operator's crews start work before dawn, often far from any mobile signal. Each morning they need the passenger manifest, have to verify passenger details and plan how weight is distributed, then capture sign-offs before departure.
Manifests hold sensitive data: weights, permits, dietary needs and medical notes. Sign-offs need trustworthy timestamps, because they form the operational record, and a device clock that has been changed, or reset by an offline reboot, can't be relied on.
Then there is a hard deadline: completed records must reach central operations before a fixed late-morning cutoff every day, whether or not the crew has found signal by then. It also had to use the existing backend.
Our Approach.
Our scope was the Flutter app for Android and iOS phones and tablets. It connects to the operator's existing backend over REST APIs; the backend itself is not our work.
We designed every critical workflow to run offline first. Data is stored on the device, and changes queue locally until a connection returns.
For sign-off timestamps, the app combines network time with the device's native monotonic clock. This lets it detect a changed device clock and certain offline reboots that would otherwise distort when a signature was captured, even with no connection.
The Solution.
Each morning, crews open a manifest that is already on the device, with no signal needed to start the day's work.
The manifest shows passenger counts, pickup points, permits, dietary and medical notes, and crew assignments. A visual load planner lets the pilot arrange passengers and check the weight balance on screen before departure.
Pilots capture hand-drawn digital signatures, stored offline with validated timestamps. Authorised users can correct passenger names offline, and every change waits in a local queue until the device can sync.
Local reminders prompt crews to connect before the daily cutoff. Screens with passenger data block screenshots, and over-the-air updates deliver fixes without a full app store release. Layouts adapt to phones and tablets.
The Results.
Manifests, passenger checks, load planning, sign-offs and passenger corrections all work without signal in remote field locations, then sync when the device reconnects.
Network time plus the native monotonic clock lets the app spot a changed device clock and certain offline reboots that would distort a timestamp.
Screenshot blocking on manifest screens reduces the risk of sensitive passenger weights, permits and medical notes leaving the device.
Scheduled local notifications remind crews to connect and sync outstanding records with central operations before the daily late-morning cutoff.