An AI travel copilot that turns "I'm visiting Japan for 5 days" into a bookable, personalized itinerary — budget, restaurants, weather, and reservations included — in under a minute. This is the interactive prototype, live below — tap through all 12 screens.
This is a working prototype, not a static mockup — tap a flow on the left, then interact with the phone: type in the chat, switch days, toggle preference chips, flip offline mode.
Personalize, then let TripPilot plan.
"I'm visiting Japan for 5 days — 3 in Tokyo, 2 in Kyoto, foodie pace."
Tap to resume your Kyoto plan
Swipe through picks matched to today's route
Conversational refinement
Tokyo → Kyoto
Day 1 · Tokyo
$1,240 of $1,800 planned
Drag a card — right to add, left to skip
Tokyo's oldest temple — arrive early to beat the crowds and catch the Nakamise shopping street waking up.
TripPilot added this to your itinerary and synced a confirmation to your offline cache.
Planning: Tokyo + Kyoto · Oct 14–19
Live trip updates
Swapped Meiji Shrine walk for teamLab Planets — tap to review
Sushi Saito, Day 2, 7:30 PM for 2
Tokyo → Kyoto, Day 4, 10:12 AM
Based on your Day 1 pin, TripPilot found a closer match
Your trip, no signal required
Once a plan is confirmed, TripPilot caches the full itinerary, maps, and reservation confirmations to-device. Use the toggle in the top-right corner of the phone to simulate losing signal.
Available with zero connectivity
Pinned routes for each day
Show at the door, no wifi needed
The average independent traveler assembles a trip from a dozen disconnected sources — blog posts, spreadsheets, group chats, screenshots — and still arrives unsure if the plan is realistic. Existing booking apps are excellent at selling one thing (a flight, a hotel, a table) and poor at reasoning across all of them together.
Itinerary in Notes, budget in a spreadsheet, restaurant list in a group chat, bookings in five different email confirmations. Nothing talks to anything else.
"Top 10 things to do in Tokyo" listicles do not account for your dates, your budget, your pace, or the fact that the museum you want is closed on Mondays.
Rain changes the day. A restaurant is fully booked. A train is delayed. Static PDFs and screenshots cannot replan themselves — the traveler has to.
International arrivals to Japan reached record levels through 2024 and into 2025, and travel media widely reported first-time visitors citing the sheer density of choice — trains, neighborhoods, reservation-only restaurants — as the single biggest planning obstacle. These directional findings, paired with 6 assumption-based user interviews, shaped the jobs below.
land in a country I've never visited, with only 5 days and high expectations
get a realistic, sequenced plan without spending my first three evenings researching it
spend my limited vacation time experiencing the trip, not managing a spreadsheet about it
Product designer, first trip to Japan
Consultant, frequent business-plus-leisure traveler
Flights booked. Opens TripPilot same evening, unsure where to start.
Sets dates, cities, pace and budget in under 90 seconds.
AI drafts a full 5-day itinerary with budget and reasoning.
Swaps two dinners, asks TripPilot to add a day trip to Nara.
Confirms restaurant reservations and a rail pass in-app.
Rain alert replans afternoon 3 automatically; she taps approve.
Honest read: no player currently owns "plan, book, and adapt" as one continuous loop. Booking giants own inventory; itinerary apps own inspiration; neither owns the AI reasoning layer that connects the two.
| Product | Strength | AI itinerary generation | In-app booking | Live replanning |
|---|---|---|---|---|
| Google Travel | Search & flight/hotel data depth | Limited | Partial | No |
| TripIt | Consolidating existing bookings | No | No | Alerts only |
| Airbnb / Expedia | Inventory & checkout trust | Emerging | Yes | No |
| Wanderlog | Manual itinerary building UX | Basic | No | No |
| TripPilot | End-to-end AI planning loop | Core feature | Yes | Core feature |
| Feature | Reach | Impact | Confidence | Effort | Score |
|---|---|---|---|---|---|
| AI itinerary generation from prompt | 9 | 3 | 90% | 5 | 4.9 |
| Live replanning (weather/closures) | 7 | 3 | 70% | 4 | 3.7 |
| In-app restaurant booking | 6 | 2 | 80% | 3 | 3.2 |
| Offline mode | 8 | 1.5 | 85% | 2 | 5.1 |
| Group trip coordination | 3 | 2 | 50% | 6 | 0.5 |
As a first-time visitor, I want to describe my trip in plain language so that I get a full itinerary without filling out forms.
As a traveler, I want to see a running budget while I plan so that I don't overcommit before I've booked anything.
As a traveler already in Japan, I want TripPilot to replan my afternoon if it starts raining so that I don't have to research alternatives myself.
Figures below are illustrative launch targets for a v1 pilot, not measured outcomes.
| Event | Trigger | Key props |
|---|---|---|
| itinerary_generated | Draft plan returned | city, days, latency_ms |
| plan_edited | User modifies a card | edit_type, day_index |
| booking_confirmed | Reservation completed | category, price, partner |
| replan_accepted | User taps approve on alert | trigger_type |
Signature motif: the torn-ticket divider and boarding-pass corner details throughout — a nod to the physical paper itinerary TripPilot replaces.
// itinerary_generation.system You are TripPilot, a travel planner. Given user_prompt, preferences, dates: 1. Resolve cities + day allocation 2. Ground every venue in places_api — never invent an address 3. Sequence by geography + hours 4. Attach "why" reason per stop 5. Return JSON matching Itinerary schema
SELECT city, COUNT(*) AS drafts, AVG(edits_before_book) AS avg_edits FROM itinerary_events WHERE event_type = 'itinerary_generated' AND created_at >= current_date - 30 GROUP BY city ORDER BY drafts DESC;
The hardest product decision was not the UI — it was refusing to let the AI invent a venue. Every card had to trace back to a real data source, which shaped the whole architecture.
Designing for a thumb and a commute meant cutting features that needed a form, not just resizing a desktop layout.
Adding a "why" to every AI suggestion came directly from interview signal — it turned an opaque recommendation into a reviewable one.