
Your visual travel compass
Upload mood board photos and AI identifies the places in them, then generates personalized day-by-day itineraries with routes, timing, and recommendations.

See it in action
From photo upload to a complete itinerary — watch the full workflow in under two minutes.
How it works
Upload Photos
Drag and drop mood board photos onto a visual canvas. Pin images of places, landmarks, restaurants — anything that inspires your trip.

AI Identifies Places
Gemini Vision analyzes each photo to identify real-world locations — landmarks, restaurants, neighborhoods. No manual tagging needed.

Get Your Itinerary
Claude generates a complete day-by-day itinerary with optimal routes, time slots, transit directions, and local recommendations.

App showcase

Your Journeys

Mood Board

AI Itinerary

Map View

Add Spots
Technical architecture
Multi-model AI orchestration with edge computing, video processing pipeline, and cross-platform delivery
AI orchestration flow
Two input paths — photos and videos — converge through Gemini for place detection, then Claude for itinerary generation.
Engineering decisions
Key technical choices and the reasoning behind them
Dual-AI orchestration
Gemini 2.5 Flash handles vision — analyzing photos and full videos to identify real-world places. Claude handles structured generation — building coherent multi-day itineraries with timing logic. Each model plays to its strengths, with circuit breakers protecting against cascading failures.
Video pipeline with Cobalt
Users paste a TikTok or Instagram Reel URL and the Cobalt server extracts the video. It's uploaded to Gemini's File API for full-video analysis — extracting transcripts, OCR text, places, and timestamps. A client-side frame extractor provides a parallel path using scene-change detection to select 4-8 key frames.
Edge-first with Hono on Workers
Sub-50ms cold starts, zero server management, and global edge distribution. Hono's lightweight router is built for Workers' constraints. API routes handle image upload to R2, AI orchestration, and itinerary CRUD — all at the edge.
Visual canvas with free-form layout
The mood board uses pointer events, drag-and-drop, and a virtualized canvas. Photos can be freely positioned, zoomed, and rotated — making trip planning feel creative rather than transactional.
Cross-platform with Capacitor
Single React codebase compiles to web, iOS, and Android via Capacitor, plus a PWA fallback with Workbox. Native bridge access for camera, haptics, and share sheets. No separate mobile codebase to maintain.
Serverless Postgres with Drizzle
Neon provides serverless PostgreSQL that scales to zero. Drizzle ORM gives type-safe queries with zero overhead — the schema is the source of truth. Migrations are versioned and reproducible.
Interested in working together?
Passelio demonstrates my approach to building products: thoughtful architecture, multi-model AI integration, and shipping cross-platform from a single codebase.