
Designing a Conversational Interface to Make Travel Planning Easy
CheapVoyage is an AI-driven travel planner that surfaces affordable flights and trains across Europe through a chat interface. I designed and built the product end-to-end so that finding a cheaper route feels like asking a knowledgeable friend — not filling out a form.
My role
Co-Founder and UX Designer
Impact
Seamless Trip Planning
A single conversational thread replaced multi-step search forms, so people could go from intent to a comparable set of routes without leaving the chat.
Unconventional Cheaper Options
The interface privileges price and transfer pain equally — so a slower train can win when it is the smarter trade, not only the cheapest flight.
Easy Comparison of Flight and Train Options
Suggestions stay inspectable: every recommendation shows the source itinerary, so the model assists without hiding how the answer was built.
Problem
Booking Europe on a budget usually means tab-hopping between airlines, train operators, and comparison sites. People know roughly when they want to go, but not which combination of modes will actually be cheapest or least painful.
Existing planners either assume a destination is already decided, or they dump a wall of fares. Neither matches how people actually plan: tentatively, with constraints that change mid-sentence.
Approach
I designed a chat-first planner where constraints arrive in natural language — dates, cities, a budget, a willingness to overnight on a train — and the system returns comparable itineraries instead of a single booked ticket.
The visual language stays quiet: a pale canvas, a compact route card, and a transcript that can be edited. The AI is present as a collaborator in the thread, not as a mascot or a modal.

Route cards sit in the same thread as the question, so comparison never leaves the conversation.
CheapVoyage 1.0
People forgive a slower answer if they can see why it was chosen. Hiding the itinerary behind a chat bubble made the product feel magical for a moment and untrustworthy the next.
The design work was as much about what the model should not say: no false precision on prices, no locked destination until the traveller is ready.
The Data Problem
Europe's cheapest path is rarely in one catalog. Airline fares, rail operators, and overnight trains update on different clocks, so a chat answer can sound sure and still be stale.
I treated the model as a compositor, not a source of truth: every suggestion had to point back at a concrete itinerary, and prices stayed ranges until a live quote could confirm them.
Result
CheapVoyage shipped as a working conversational planner: one thread for constraints, inspectable route cards, and a quieter visual language than booking forms. The remaining work is coverage and freshness of the underlying data — not another layer of UI.