The Problem
Traditional travel agencies spend 2-4 hours per inquiry on manual research: searching hotels, planning activities, coordinating transfers, calculating prices. With 10+ daily inquiries, there's barely time for customer service. Competition from online booking platforms makes profitability even harder.
The Solution
tourvy automates the entire proposal process through a 10-step AI pipeline. From email inquiry to complete, bookable travel proposal in under 5 minutes. The AI automatically extracts travel data, analyzes destinations, matches suitable accommodations, and plans activities - all based on individual customer preferences.
Results
Architecture
Multi-tenant SaaS architecture with TanStack Start for Server Functions, TanStack Query for optimistic data fetching, and Supabase/PostgreSQL as backend. The AI pipeline runs asynchronously via Inngest with automatic retry and monitoring. Drizzle ORM guarantees type safety from database schema to frontend.
Challenges
- • AI Pipeline Orchestration: Coordinating 10 dependent steps with different runtimes and failure scenarios without one error blocking the entire pipeline
- • Real-time Collaboration: Multiple team members editing the same proposal simultaneously - avoiding race conditions and conflicts
- • Email Threading: RFC 5322-compliant implementation for correct grouping of email conversations
- • Multi-Provider Billing: Supporting Stripe and Mollie in parallel with unified subscription management
Learnings
- • Inngest is perfect for complex AI workflows - built-in retries, timeouts and observability save weeks of development time
- • TanStack Start Server Functions + Query create a DX that feels like a local API - without the boilerplate
- • JSONB for feature flags works surprisingly well for tiered pricing without schema migrations
- • TypeScript Strict Mode from the start saves more time than it costs - ZERO error tolerance pays off