Skip to content
Open to opportunities
SD
Project 01Travel Tech / Web App2026

A dual-path travel platform: a conversational AI wizard for hands-off planning, and a manual builder for comparing real flights, stays and experiences side by side.

Now Working OnIndependent project — source on GitHub, not a production deployment
AI Trip Planner screenshot
01

Overview

AI Trip Planner gives travelers two ways to plan a trip instead of forcing one: a cinematic, conversational AI wizard that asks one question at a time against a live map, or a manual builder for people who'd rather compare real flight and hotel options themselves. Both feed into a shared discovery catalog and a trips dashboard for booked itineraries.

02

Problem

Most trip planners force a single mode — either a rigid multi-field form, or a chat interface with no structure underneath it. Neither works for everyone, and the two approaches usually can't coexist in the same product without one degrading the other's state or UI.

03

Approach

The AI wizard and the manual builder run on completely independent state stores, so the wizard's map-driven, full-screen flow and the builder's multi-provider comparison UI can each evolve without touching the other. Every external data source — flights, hotels, weather, places — is wired through a provider layer that degrades gracefully to clearly labeled demo data when a given API key isn't configured, so the app is always usable, never broken, in any environment.

04

Engineering

  • Conversational AI wizard with a cinematic full-screen map (MapLibre GL, CARTO dark tiles) that branches its questions by destination — visual only, no routing or geocoding layered on top
  • Manual planner with multi-provider flight and hotel search, filtering and sorting
  • An "Experience Bag" for saving points of interest to a trip without forcing a day-by-day schedule upfront
  • Discovery catalog with a real category taxonomy, reviews and saved places
  • Trips dashboard for booked itineraries, with a rule-based fallback generator when no AI key is configured
  • Clerk-based auth gating profile, settings and admin areas
05

Result / Current State

The core flows — landing, AI wizard, discovery catalog, reviews, trips dashboard — are built and passing a Vitest unit suite (with Playwright for end-to-end coverage), clean linting and type-checking. The manual planner's experience-selection flow was the most recent significant piece of work: redesigned end to end and manually verified in the browser before merging.

06

What I Learned

The hardest problem was resisting the urge to auto-schedule things. Early on, saving an experience you liked immediately assigned it to a random day and time slot — so "I'm interested in this" and "this is happening on day 3 at 2pm" were the same action. I pulled scheduling out of the data model entirely and rebuilt experience selection as a pure save-for-later collection, with actual day-by-day scheduling deliberately deferred as its own explicit feature rather than something bolted on by default.

Status
Now Working On
Type
Independent project — source on GitHub, not a production deployment
Category
Travel Tech / Web App
Year
2026
Technology
Next.jsTypeScriptTailwind CSSshadcn/uiZustandTanStack QueryPrismaPostgreSQLClerk
Links
07Screens

AI Trip Planner — screen 1 of 5
01 / 05
AI Trip Planner — screen 2 of 5
02 / 05
AI Trip Planner — screen 3 of 5
03 / 05
AI Trip Planner — screen 4 of 5
04 / 05
AI Trip Planner — screen 5 of 5
05 / 05