Case studies

Tours that start on time, signal or none

How Context Travel checks guests in for walking tours even when the guide is standing in a stairwell or a centuries-old basement with no signal.

Schedule a call For Rails businesses building mobile apps.
Industry
Cultural and walking tours
Platforms
iOS and Android
Stack
Hotwire Native plus offline

01 / Challenge

Guides arrived at venues with no signal

A Context Travel guide shows up to a museum, a cathedral, or a back-alley meeting point and starts checking guests in. Half the time, there's no cell service. Stone walls eat the signal, the basement has none, and the guide can't fetch the ticket list or scan QR codes from a server that isn't reachable.

The web-driven version of the app worked perfectly the moment the guide was on Wi-Fi at the office. It didn't work at all in the moment that actually mattered.

02 / Approach

Native code for offline, Hotwire Native for the rest

Most of Context Travel's mobile app is Hotwire Native rendering the same Rails screens the staff already use. The check-in flow isn't. I built native iOS and Android screens that pull the day's tours and tickets onto the device ahead of time, scan QR codes locally, mark guests as checked in offline, and sync everything back to Rails the moment service returns.

  • Tickets and rosters cached on device the night before each tour.
  • QR code scanning and check-in handled natively, no round-trip required.
  • Background sync to the Rails app when the device picks up service again.
  • Everything else (rosters, tour details, settings) stayed in Rails so the team ships it without me.

03 / Result

Tours on time whether the guide has five bars or none

Tours run on time whether the guide has five bars or none. Guides stopped relying on printed ticket lists and the office stopped getting frantic messages from venues with bad signal.

The native code stayed small. Two screens, well tested, doing the one thing the web couldn't. The rest of the app continues to ship as Rails changes, the way Context Travel already worked.

“A 2.5-developer team shipping mobile experiences this good while maintaining a 140K LOC Rails monolith is incredible. Joe helped us make it real.”

Koichi Hirano
Head of Product & Engineering, Context Travel
Have a flow the web can't cover?

Offline, camera, biometrics, push. Tell me where your app needs to go native, and we'll figure out the smallest amount of code that gets you there.

Book a call

More case studies