Skip to content
Travel / Guided Expeditions7 months · 2026

An itinerary app that works where there's no signal

Their existing app was demoed on office wifi and used on mountainsides. Rebuilding it offline-first cut support calls by more than half and moved repeat bookings.

+34%

Repeat bookings

-54%

Trip-day support calls

4.7★

App store rating

0.8s

Cold start, offline

The challenge

Trailhead runs guided expeditions in places with no reliable connectivity, and their app assumed a network on every screen. Travellers arrived at trailheads unable to load the itinerary they had downloaded at the hotel, meeting points were unreachable when it mattered, and the operations team absorbed the cost — a support line staffed for calls that were, almost without exception, someone standing somewhere with no bars trying to open a screen that required a request. The app's store rating reflected it.

What we did

01

Made airplane mode the acceptance test

We set one rule the build had to satisfy: after a trip is confirmed, switching the device to airplane mode changes nothing the traveller can see. That reframed the work from adding an offline mode to removing network dependencies, which is a different and more thorough exercise.

02

Cached the whole trip at confirmation

Itinerary, meeting points with local-language addresses, guide contact details, permits, kit lists and a pre-fetched map tile radius around every waypoint, all written to the device the moment a booking is confirmed rather than on first open. The download happens while the traveller still has hotel wifi, which is the only reliable window.

03

Moved critical moments to wallet passes

Meeting times and locations were pushed as wallet passes rather than notifications. A pass surfaces on the lock screen at the right time and place without an app launch, a connection or notification permission — three things that fail in exactly the conditions these trips involve.

04

Built a time-zone fixture suite

Expeditions cross zones and occasionally date lines, and the previous app displayed departure times that were wrong by a day in specific combinations. We built a fixture set of the nastiest real itineraries from their booking history and ran it on every build, which turned a recurring support issue into a test that fails loudly in CI.

The result

Support calls during trip days fell 54% within two quarters, and the operations team reallocated a full-time role away from the phone line. Repeat bookings rose 34% — the connection is not one we can prove causally, but the qualitative feedback is consistent, and travellers who never lost access to their itinerary describe the operator differently. The app holds a 4.7-star rating against 3.1 before the rebuild, and cold start with no connection is under a second.

The old app worked perfectly in our office, which is the one place nobody uses it. Watching them test on airplane mode from the first week told us they'd understood the actual problem faster than anyone we'd briefed before.
Marcus OyelaranHead of Operations, Trailhead Collective
Same playbook

Let's run this on your business.

Start with a free teardown. We'll show you where your funnel leaks and what we'd do about it — before you spend anything.