← Back to Portfolio

Guides

AI voice travel-guide app — speech in and out, LLM narration, subscriptions.

React Native Expo TypeScript Vercel AI SDK Cloudflare Workers Workers AI RevenueCat PostHog

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

FrontendReact 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.

MonetizationRevenueCat handles subscription purchases and entitlement checks across iOS and Android.

AnalyticsPostHog tracks engagement across the voice interaction funnel.

Interested in working together?

Let's discuss your project and bring it to life.