✈ TripPilot
AI TRIP PLANNER · JAPAN · MOBILE PROTOTYPE
Case Study · Product Prototype

Tell TripPilot where
you're going.
It plans the rest.

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.

5 daysplan generated
<60 secfrom prompt to itinerary
12 screensonboarding → booked
1 prompt"I'm visiting Japan for 5 days"
Interactive Prototype · Start Here

Tap through the actual app

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.

✈ OFFLINE MODE — SHOWING SAVED ITINERARY
9:41●●● 5G 100%
🗾

Where to?

Tokyo, Kyoto, Osaka — pick one or stitch a few together.

📅

How many days?

5 days · Oct 14–19

💴

What's your budget?

$1,800 total, mid-range pace

Good evening, Maya 🌙

Personalize, then let TripPilot plan.

M
🍜 Foodie
📷 Photo spots
🧘 Slow travel
🛍️ Shopping
⛩️ Culture
Suggested prompt

"I'm visiting Japan for 5 days — 3 in Tokyo, 2 in Kyoto, foodie pace."

✨
Draft ready from last night

Tap to resume your Kyoto plan

🍜
Discover restaurants nearby

Swipe through picks matched to today's route

Plan with TripPilot

Conversational refinement

I'm visiting Japan for 5 days
3 in Tokyo, 2 in Kyoto — want me to draft it with a foodie-leaning pace based on your preferences?
Yes, and add a day trip option
Done — added a Nara day-trip option to Day 4, swappable with the Kyoto tea ceremony. Full plan is in your Trip tab.
Type a message…

Your 5-day plan

Tokyo → Kyoto

Today's route

Day 1 · Tokyo

Senso-ji Temple
9:00 AM · Asakusa
0.0 mi
Ichiran Ramen
12:30 PM · Shibuya
4.2 mi
Shibuya Sky
6:00 PM · Shibuya
0.3 mi

Trip budget

$1,240 of $1,800 planned

$1,240of $1,800
Lodging$620
Food$340
Transit & activities$280

Discover restaurants

Drag a card — right to add, left to skip

⛩️

Senso-ji Temple

9:00 AM · Asakusa⭐ 4.7Free entry

Tokyo's oldest temple — arrive early to beat the crowds and catch the Nakamise shopping street waking up.

Why TripPilot picked this: Matches your Culture preference and sits on today's walking route with zero backtracking.
✓

Reservation confirmed

TripPilot added this to your itinerary and synced a confirmation to your offline cache.

VenueSenso-ji Temple
Time9:00 AM
Party2 guests
ConfirmationTP-7734
M

Maya Chen

Planning: Tokyo + Kyoto · Oct 14–19

2CITIES
5DAYS
$140UNDER BUDGET
Foodie recommendations
Photo-spot priority
Slow travel pace
Push notifications
Offline auto-download

Notifications

Live trip updates

🌧️
Rain expected, Day 3 afternoon

Swapped Meiji Shrine walk for teamLab Planets — tap to review

2m
🍽️
Reservation confirmed

Sushi Saito, Day 2, 7:30 PM for 2

1h
🚄
Shinkansen check-in open

Tokyo → Kyoto, Day 4, 10:12 AM

3h
✨
Better-rated ramen nearby

Based on your Day 1 pin, TripPilot found a closer match

5h

Offline mode

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.

CACHED
Full 5-day itinerary

Available with zero connectivity

CACHED
Offline maps, Tokyo & Kyoto

Pinned routes for each day

CACHED
Reservation confirmations

Show at the door, no wifi needed

01 — Problem Statement

Planning a trip still takes
longer than the trip itself.

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.

01

Planning is fragmented

Itinerary in Notes, budget in a spreadsheet, restaurant list in a group chat, bookings in five different email confirmations. Nothing talks to anything else.

02

Generic advice, not a plan

"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.

03

Plans break the moment you land

Rain changes the day. A restaurant is fully booked. A train is delayed. Static PDFs and screenshots cannot replan themselves — the traveler has to.

02 — Market Research & JTBD

What travelers actually hire a trip planner to do

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.

When I...

land in a country I've never visited, with only 5 days and high expectations

I want to...

get a realistic, sequenced plan without spending my first three evenings researching it

So I can...

spend my limited vacation time experiencing the trip, not managing a spreadsheet about it

Interview signal (assumption-based, n=6)

  • 5 of 6 said they abandoned a planning session because "it felt like homework."
  • 4 of 6 wanted a plan they could still change after arriving, not just before.
  • 6 of 6 wanted a running budget total, not per-item prices they had to add up themselves.
  • 3 of 6 specifically distrusted "top 10" content from unclear sources.

Opportunity areas

  • Compress planning time — one prompt to a structured, editable plan.
  • Keep the plan alive after landing — replan on weather, closures, delays.
  • Make cost visible by default — a running total, not a scavenger hunt.
  • Explain the "why" — every suggestion cites a reason, not just a rating.
03 — Personas

Two travelers, one copilot

M

Maya, 29

Product designer, first trip to Japan

GoalMaximize a rare 5-day window without researching for weeks beforehand.
FrustrationEvery "guide" she reads assumes she already knows the train system.
TriggerBooks flights, opens TripPilot that evening, expects a first draft plan same night.
SuccessLeaves the app with a plan she trusts enough to stop researching.
K

Kenji, 41

Consultant, frequent business-plus-leisure traveler

GoalBolt 2 personal days onto a work trip without a full planning cycle.
FrustrationGeneric itineraries ignore that he's already in-country and time-boxed.
TriggerOpens the app from his hotel room the night before his free days start.
SuccessGets a tight, bookable plan that fits inside 48 hours with zero slack.
04 — Journey Map (Maya)

From "I booked flights" to "I'm at the gate"

Trigger

Flights booked. Opens TripPilot same evening, unsure where to start.

😐

Onboarding

Sets dates, cities, pace and budget in under 90 seconds.

🙂

First plan

AI drafts a full 5-day itinerary with budget and reasoning.

😃

Refine

Swaps two dinners, asks TripPilot to add a day trip to Nara.

🙂

Book

Confirms restaurant reservations and a rail pass in-app.

😃

In-trip

Rain alert replans afternoon 3 automatically; she taps approve.

😌
05 — Competitive Analysis

Where TripPilot sits in the market

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.

ProductStrengthAI itinerary generationIn-app bookingLive replanning
Google TravelSearch & flight/hotel data depthLimitedPartialNo
TripItConsolidating existing bookingsNoNoAlerts only
Airbnb / ExpediaInventory & checkout trustEmergingYesNo
WanderlogManual itinerary building UXBasicNoNo
TripPilotEnd-to-end AI planning loopCore featureYesCore feature
06 — Product Requirements Document

PRD summary

Objective

  • Turn a single natural-language trip prompt into a complete, bookable, editable itinerary in under 60 seconds.

Goals

  • Generate day-by-day plan, budget, restaurant picks, and weather-aware suggestions from one input
  • Let the user refine the plan conversationally, not through forms
  • Support offline access to the confirmed itinerary in-trip

Non-goals (v1)

  • Group trip coordination / shared multi-user editing
  • Flight search and booking (rail, hotel, and dining only in v1)
  • Loyalty program integration

Key risks

  • Hallucinated venue details eroding trust — mitigated by grounding every card in a live places/maps API, never freeform generation
  • Booking failures at partner APIs during high-demand windows
  • Overly generic output if personalization signals are thin

Feature prioritization — RICE

FeatureReachImpactConfidenceEffortScore
AI itinerary generation from prompt9390%54.9
Live replanning (weather/closures)7370%43.7
In-app restaurant booking6280%33.2
Offline mode81.585%25.1
Group trip coordination3250%60.5
07 — User Stories

Story map, top slice

TP-101

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.

Free-text input accepts dates, cities, and duration
System asks at most 2 clarifying questions
Draft itinerary returned in under 60 seconds
TP-118

As a traveler, I want to see a running budget while I plan so that I don't overcommit before I've booked anything.

Budget ring updates live as items are added or removed
Spend is broken down by category
Warning shown if plan exceeds stated budget
TP-134

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.

Weather trigger checked every 3 hours during active trip
Replan suggestion delivered as a push notification
One-tap approve applies the change to the timeline
08 — Success Metrics

KPI dashboard (targets, not results)

Figures below are illustrative launch targets for a v1 pilot, not measured outcomes.

North Star
68%
Trips where the AI-drafted plan is used with no more than 1 major edit
Activation
<60s
Median time from first prompt to draft itinerary
Monetization
32%
Draft itineraries that convert to at least one in-app booking
Trust
4.6/5
Post-trip rating of "the plan matched reality"

Event tracking plan (sample)

EventTriggerKey props
itinerary_generatedDraft plan returnedcity, days, latency_ms
plan_editedUser modifies a cardedit_type, day_index
booking_confirmedReservation completedcategory, price, partner
replan_acceptedUser taps approve on alerttrigger_type

A/B test plan (v1)

  • Hypothesis — Showing the AI's reasoning ("why this restaurant") increases plan trust and reduces edits.
  • Variants — A: cards with a one-line "why" tag. B: cards without.
  • Primary metric — % of itinerary used with ≤1 edit
  • Guardrail — Time to first booking should not regress by more than 5%
09 — Lo-fi Wireframes

Early sketches before the visual system

01 — Home / prompt entry
02 — Chat / refine flow
03 — Timeline view
04 — Map view
10 — Design System

Tokens carried into the hi-fi build

Color

Paper
#F3EEE3
Ink
#1C2B39
Indigo
#2B4570
Vermillion
#C1440E
Gold
#C99A2E
Matcha
#3E5C3A

Type scale

DisplayZilla Slab 700
BodyInter Regular / Medium
Data / UI labelsIBM Plex Mono

Signature motif: the torn-ticket divider and boarding-pass corner details throughout — a nod to the physical paper itinerary TripPilot replaces.

11 — AI Architecture

How a prompt becomes a plan

Input
User prompt
+ preferences
→
Orchestration
Intent parser
(dates, cities, pace)
→
Grounding
Places / weather /
rail APIs (RAG)
→
Reasoning
LLM itinerary
sequencer
→
Output
Structured plan +
booking actions

Prompt design (system, abridged)

// 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

Sample analytics query

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;
12 — Roadmap

Phased rollout

Phase 0 — Prototype (this build)

Weeks 1–2
  • Clickable prototype, static AI responses, design system locked
  • Validate core flow with 6–8 target users

Phase 1 — MVP

Weeks 3–8
  • Live LLM itinerary generation grounded in places + weather APIs
  • Manual-review booking for restaurants and rail passes
  • Tokyo + Kyoto only, single-user

Phase 2 — Adaptive trips

Weeks 9–14
  • Live replanning on weather/closures
  • Offline caching
  • Expand to 5 additional Japanese cities

Phase 3 — Scale

Quarter 2
  • Automated booking with confirmation guarantees
  • Group trip coordination
  • Expand beyond Japan to 3 new countries

Sample sprint board — Sprint 4

To do
TP-142Offline cache for confirmed itineraries
TP-149Push notification for rain-triggered replan
In progress
TP-138Grounded places API integration for Kyoto
TP-140Budget ring live-update logic
Done
TP-121Onboarding 3-step flow
TP-127Chat-based itinerary refinement
13 — Projected Impact

Why this matters to the business

−85%
Estimated reduction in pre-trip planning time vs. manual research
+32%
Target draft-to-booking conversion rate
1 loop
Plan, book, and adapt in a single continuous product, not three
14 — Lessons Learned

What building this taught me

Grounding beats generation

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.

Mobile-first changes the PRD, not just the UI

Designing for a thumb and a commute meant cutting features that needed a form, not just resizing a desktop layout.

Trust is a metric, not a feeling

Adding a "why" to every AI suggestion came directly from interview signal — it turned an opaque recommendation into a reviewable one.