← Portfolio

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
  • WanderLuxe day view for Friday, September 18 in Tokyo: the hotel, then Meiji Shrine, Omotesando, lunch at Den and Shibuya Crossing grouped by time of day.

    Day plan

  • WanderLuxe example itinerary, 6 Days in Tokyo, with an offer to copy it as the start of your own trip.

    Example itinerary

  • WanderLuxe Trip Assistant answering where to eat near the Aman Tokyo with restaurant cards.

    Trip Assistant

  • WanderLuxe trip calendar in a three-day view: the flight in, the hotel, and each day's plans.

    Calendar

  • WanderLuxe home screen: Plan the trip together.

    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

  1. 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
  2. 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
  3. 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
  4. 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.