Algoace

Work / Audventour

Audventour

Industry
Travel and tourism
Service lines
Mobile app engineering, Backend engineering
Stack
React Native, Expo, TypeScript, Supabase, Mapbox, Stripe
Triptoe-banner

The Situation

Audventour offers self-guided audio walking tours of London, starting with Westminster. The founder wanted tourists to explore at their own pace, with stories that play at the right place, without holding a phone, hunting for the next stop, or depending on mobile data in a foreign city.

The Constraint

The audio had to start exactly when the walker reached each stop, even with the phone in a pocket and the screen off. Tourists often have no data or poor roaming, so a tour had to work completely offline once downloaded, maps included. People had to be able to try a tour before buying, pause it and pick it up again later, possibly on a different phone.

What we did

We built the iOS and Android app and its Supabase backend.

Hands-free, GPS-triggered audio: each stop has its own trigger radius. When the walker arrives, the next part of the story plays by itself. Location tracking keeps running in the background, so the phone can stay in a pocket. We chose GPS triggers over tapping play at every stop because the point is to look at London, not at the screen.

Fully offline tours: downloading a tour saves both its audio and an offline Mapbox map of the route, so the map, the walker’s position and the audio all work with no signal at all.

Try, buy and resume: visitors can browse and play free previews as a guest. Payment goes through Stripe checkout on the server, and a Stripe webhook unlocks the tour on the user’s account, so it’s available on any device they sign in to. Users can pause a tour and resume it exactly where they left off.

Finding a tour: tours are sorted by distance from the user, and “Get directions” opens their preferred maps app to guide them to the starting point.

Release pipeline: GitHub Actions and Expo build both apps automatically. Merging to the preview branch sends a build to internal testers on both stores, and merging to master ships to production. Small fixes go out as over-the-air updates, with crash reporting in Sentry.

triptoe-what-we-did-banner-1
triptoe-what-we-did-banner-2
triptoe-what-we-did-banner-3

The trade-off

Trigger radiuses are set stop by stop, not with one rule for the whole tour. A small radius can miss a stop on narrow streets where GPS drifts between buildings. A large one can start the story before the walker can see what it’s describing. Setting them per stop takes more work from the tour author, so we also kept simple controls to replay a stop or move on, in case GPS lets the walker down.

What we would do differently

We would build for more than one city from day one. The welcome screens and copy say “in London”, and the first tour is Westminster. That was right for launch, but a city-neutral setup would have made adding Paris or Rome a content job instead of an app update.

Ready when the work has to be right the first time.

A 30-minute scoping call with a senior engineer, designer or growth lead. You will leave with a written view of scope, risks and a realistic timeline, whether or not you hire us.

12 years40+ shipped products6 industries
Karachi and Sharjah