neighbourhoodie-nnh-logo

Case Study

Humanitarian Convoy Planning App

The Brief

Our client manages relief convoys in war zones. These are generally planned in advance, with GeoJSON routes loaded onto mobile devices in each vehicle before departure. However, convoys might find their planned route unusable while in transit, and regular mapping services would not accurately reflect the situation on the ground: streets might be blocked by rubble, craters, or be destroyed outright.

The app would therefore use a proprietary set of up-to-date satellite images to let convoy managers see which streets in the vicinity of the convoy route were passable in the event of having to change routes mid-journey. Since the satellite images needed to be high resolution to make this level of detail visible, it wouldn’t be feasible to load the entire map onto the target devices at the required zoom levels; it was just too much data.

The solution would therefore have to dynamically identify and manage which route-adjacent subset of the satellite image it would store on-device, and accurately communicate to users which routes had available offline maps.

Challenges

  • Had to work fully offline when on-convoy, multiple map layers and all.
  • Needed to store large amounts of hi-res satellite tiles on device without exceeding any storage limits, make data management transparent, never lose a byte, and ideally enable p2p sharing between client devices later.
  • Can’t leave a convoy stranded because a map tile got lost.
  • UI needed to make very clear which routes had offline-available tiles, and that these tiles were definitely on-device.
  • The app would have to be able to periodically download newer versions of all locally-stored map tiles whenever newer satellite photos were made available.

Our Solution

  • Build a mobile web app that allowed importing of GeoJSON routes.
  • Users could then one-click download only the route-adjacent tiles of proprietary high-res satellite imagery to the device for later offline use, at multiple zoom levels, per route. Underneath that, we loaded a publicly-available vector map layer for orientation via street names and landmarks. The satellite images alone were difficult to navigate with, since entire city blocks had been reduced to rubble, obscuring streets and obliterating landmarks.
  • These maps were stored on-device in such a manner that they could be shared from the iOS Files app via AirDrop, allowing convoy staff to p2p-share their route’s map data without any network infrastructure.

Tech Stack

  • Mobile: Capacitor for iOS
  • App dev: React, PouchDB, Leaflet
  • Backend: CouchDB, Node.js
« Back to the work overview
og-image-preview