The Challenge
Traditional audio travel guides are static: pre-recorded tracks tied to fixed stops, with no way to ask a follow-up question or get a route tailored to where a traveler actually is. The goal was a guide that behaves more like a knowledgeable local — one you can talk to, that talks back, and that narrates points of interest as you move.
The Solution
Guides is a voice-first travel companion built with React Native (0.83) and Expo (55). Travelers speak a question or destination, the app transcribes it on-device, and an LLM-generated response is narrated back in natural speech — turning a map into a conversation. Points of interest and routes are plotted with react-native-maps, and premium guide content is unlocked through a subscription.
Key Features
Voice In, Voice Out
expo-speech-recognition captures spoken input, expo-audio handles playback, and expo-speech provides on-device narration, so the whole interaction loop — ask, think, answer — stays conversational rather than tap-driven.
LLM Narration
The Vercel AI SDK (@ai-sdk/react) streams responses from a Cloudflare Workers backend using the workers-ai-provider, so narration generation runs against Workers AI models without the client needing to know which model is behind the response.
Maps & Subscriptions
react-native-maps renders routes and points of interest, while RevenueCat manages subscription entitlements across platforms, gating premium guide content behind a paid tier.
Companion Content Site
An Astro content site mirrors guide content on the web, with Pagefind providing static, client-side search across articles without a hosted search backend.
Ship Pipeline
Builds are cut with EAS and distributed to TestFlight, keeping the voice pipeline — speech recognition, LLM narration, and audio playback — testable on real devices throughout development rather than only in simulators.
Architecture
Frontend — React Native 0.83 on Expo 55, combining expo-speech, expo-audio, and expo-speech-recognition for the voice pipeline, and react-native-maps for navigation.
AI layer — The Vercel AI SDK’s @ai-sdk/react hooks talk to a Cloudflare Workers backend via the workers-ai-provider, streaming LLM narration back to the device.
Monetization — RevenueCat handles subscription purchases and entitlement checks across iOS and Android.
Analytics — PostHog tracks engagement across the voice interaction funnel.