Operating company · Travel
WanderLuxe
Collaborative travel planning with an AI assistant in the room.
WanderLuxe gives a group one shared plan for a trip: the itinerary, the bookings, the budget, and an assistant that can read a confirmation email and turn it into a reservation. Live, with features landing weekly.
- Status
- Live
- Domain
- Travel
- Since
- 2025
- Role
- Founder, product, engineering
- Site
- wanderluxe.io

Day plan

Example itinerary

Trip Assistant

Calendar

Home
The problem
Group trips fall apart in the gap between a chat thread and a spreadsheet. Ideas, bookings and budgets live in five places and nobody owns the plan.
What was built
- A day-by-day itinerary with accommodations, transportation, dining and activities on one timeline, plus calendar and map views.
- Shared trips with view or edit permissions and invite links, so a group plans one trip instead of forwarding screenshots.
- Budget tracking with live conversion across 150 currencies on every booking.
- An AI assistant that answers questions about the trip, searches places and the web, and parses travel documents into bookings.
- Real-time sync: an edit by one traveler appears for everyone without a refresh.
- Live flight status, weather, an iCal feed, PDF export, email reminders, and a Print Studio for a designed, printable itinerary.
How it was built
- 01
Model the trip first
The schema came before any screen and now spans thirty tables, every one behind row-level security. Trips, days, bookings, travelers and shares are the product; the UI is a view on them.
- Supabase
- SQL
- 02
Plan in phases, ship by PR
Every feature gets pressure-tested, trimmed to what serves the group organizer, and split into PR-sized phases. Claude Code builds each phase and opens a pull request. Each PR must clear a written list of invariants before it merges.
- Claude Code
- GitHub
- 03
Harden
A typed database client generated from the schema and one real-time hook per entity, so UI state never drifts from Postgres. Vitest unit tests, static analysis on every pull request, and an on-demand eval harness for chat, document parsing and the MCP tools.
- TypeScript
- Vitest
- SonarCloud
- GitHub
- 04
Operate
Runs on Replit Autoscale. A Pro tier at $3.99 a month gates Print Studio. AI chat is free on every tier. API keys stay in edge functions and the Express server, off the client. Infrastructure cost stays near zero until usage says otherwise.
- Supabase
- Express
- Replit
- Stripe
Stack
- Frontend
- React 19
- TypeScript
- Vite
- Tailwind CSS
- shadcn/ui and Radix
- TanStack Query
- react-hook-form and zod
- PWA, installable on a phone
- Backend
- Supabase: Postgres with row-level security, Auth with Google sign-in, Realtime
- Express 5 for the API and the MCP server
- 13 Edge Functions on Deno for AI chat, document parsing, Google Places, weather, flight status and email
- AI
- Gemini 2.5 Flash for in-app chat and travel document parsing, with OpenAI GPT-4.1 only for Print Studio design specs
- A custom MCP server with 20 tools so Claude can read and write trips directly
- Chat streams over SSE, with tool calls for place lookup and web search
- Print Studio takes only a style spec from the model; the renderer draws every item from the database
- Services
- Google Places and Maps
- Stripe
- Mailgun
- Unsplash
- Exchange-rate feed
- AeroDataBox for flight status
- OpenWeatherMap for forecasts
- pdfmake for client-side PDFs
- Tooling
- Claude Code
- Vitest
- GitHub
- SonarCloud
- Replit
Outcomes
- Live at wanderluxe.io with weekly releases.
- Trips, bookings and budgets sync in real time across collaborators.
- Claude can plan a trip end to end through the WanderLuxe MCP server.