AI Products
CityScout
A city-first travel companion that helps people plan with more context and less friction.
2026 / AI Products / SwiftUI / SwiftData / FastAPI / OpenAI / Next.js
Quick read
A clear breakdown of the product, the reasoning behind it, and the implementation choices that matter.
- Year
- 2026
- Category
- AI Products
- Status
- Private beta
Overview
CityScout is a city-first travel companion with a local-first iOS app and a private web beta. The iOS app keeps trip state close to the device, while a FastAPI backend and Next.js planning surface handle itinerary generation, guide chat, saved trips, and journals behind authenticated server boundaries.
Why it exists
Travel planning usually ends up scattered across maps, bookings, reviews, notes, and too many open tabs. Most tools are good at booking things, not at helping someone actually feel oriented.
How it works
CityScout brings discovery, planning, and trip-time reference into one product. The iOS app stays close to the device, while the backend keeps AI calls server-side and the product contract easier to secure and evolve.
Built with
SwiftUI / SwiftData / FastAPI / OpenAI / Next.js
What I focused on
- Built a native iOS app with SwiftUI and SwiftData for local-first trip state.
- Designed a FastAPI backend with dedicated itinerary generation and guide chat endpoints.
- Kept OpenAI calls server-side behind shared-secret auth to avoid client credential exposure.
- Planned a Next.js web layer that reuses the same API contract for planning and sharing.
Try the beta
The hosted web planning surface is available as a private beta behind Cloudflare Access. Approved testers can sign in with Better Auth, generate an itinerary, save it, and add journal notes. The native iOS app remains the in-trip companion.