RAG & Python AI Development Case Study: Guidable | 2muchcoffee

Case study

AI-generated audio tours, built to scale

The Guidable app: interactive, themed audio tours with group sharing and one-tap personal tour creation

Guidable builds a personalized audio tour from a visitor's interests and location: retrieval-augmented generation in Python over a vector database of city content, not a flat list of nearby points. We built the generation, the discovery layer, and the playback engine, for hundreds of thousands of users across Germany, with content spanning 500+ cities in 40+ languages.

Book a 30-min review

At a glance

Platform
iOS and Android, one Ionic and Capacitor codebase
Reach
Hundreds of thousands of users across Germany; 500+ cities, 40+ languages
Distribution
Featured in Deutsche Telekom's Magenta Moments
Our role
RAG in Python over a vector database for tour generation, plus discovery and audio-playback engineering

The engineering

The hard part was not streaming audio

An audio-tour app looks simple until it meets a real city, a real network, and real users on the move. Three problems decided whether a tour felt seamless or broke mid-walk.

Discovery happens before playback

A visitor in a new city needs the right tour before they start walking. We built the discovery layer to surface tours by proximity and theme, not as a flat list, so the right walk is one tap away.

Audio that never pauses mid-tour

The silent killer was buffering on slower mobile connections. We structured content delivery so the next segment loads in the background while the current one plays, and the listener never hears a gap.

State that survives the real world

Variable connections, a phone call, a locked screen, the app backgrounded. The playback layer handles background-mode interruptions and recovers mid-tour state, so a walk picks up exactly where it left off.

Scope

What we built

AI tour generation
From a visitor's interests and location, the system composes a coherent, personalized audio tour: retrieval-augmented generation in Python over a vector database of city content, not a flat playlist of nearby points.
Location-aware discovery
Proximity and theme surfacing, so the right content is findable in the moment, not buried in a flat catalog.
Resilient audio playback
Background pre-loading, background-mode handling, and mid-tour state recovery across variable networks.
One cross-platform codebase
Ionic and Capacitor ship iOS and Android from a single React codebase over a GraphQL backend, so every feature lands once.

The product

Guidable in the wild

Guidable creating a custom walking tour on a Berlin map
Build a tour around any area, in 40+ languages
Guidable playing a location-aware audio tour in New York City
Audio that plays as you walk, across 500+ cities

Built with

The stack

RAGPythonVector databaseIonicCapacitorReactJSNestJSPostgreSQLGraphQL

Where it landed

Hundreds of thousands
of users across Germany
500+ cities
of content, in 40+ languages
AI-built tours
personalized, location-aware, offline

FAQ

Questions buyers actually ask

Who built Guidable?
2muchcoffee built Guidable, an AI-generated audio-tour app serving hundreds of thousands of users across Germany, with content across 500+ cities in 40+ languages, featured in Deutsche Telekom's Magenta Moments.
What does Guidable's AI tour generation involve?
Retrieval-augmented generation in Python over a vector database of city content: the system composes a personalized, coherent audio tour from a visitor's interests and location, not a flat list of nearby points. Built on Ionic and Capacitor for iOS and Android, with NestJS, PostgreSQL, and GraphQL underneath.

Let's build yours

You just saw what we shipped for Guidable. Tell us what you're building, and we'll show you what production-grade looks like for it.
<?xml version="1.0" encoding="UTF-8"?>