This project explores how AI can dynamically personalise the post‑purchase experience on travel platforms. Focusing on the often-generic checkout and confirmation stages, it uses existing user data to generate relevant, real-time content that adapts to each traveller.
The use and application of AI is exploding. Every day, we’re seeing new tools, plugins, and platforms—most of them just ChatGPT wrappers. Well… this one kind of is too. But instead of focusing on chatbot interactions or magic “Generate” buttons, this project explores something more subtle: What if AI could reshape the content of a webpage based on who’s looking at it—without the user ever typing, clicking, or even noticing?
No prompts. No UI interactions. Just a dynamic, personalised experience built entirely from the existing data already known about the user—like their age, travel purpose, destination, season, or group type. This project imagines the application of that kind of seamless, context-aware AI system—used specifically in the checkout and confirmation pages of travel platforms, where personalisation usually disappears.
AI gives us the opportunity to deliver hyper-specific personalisation at incredible scale. This concept is a proof-of-possibility for what that might look like.
This project is not a traditional UX case study. If you’re after that, I’d recommend checking out my other design projects. This was developed as a proof of concept, exploring how AI can create richer, context-aware travel experiences. Given the experimental nature and sprint constraints, the process doesn’t follow the standard Double Diamond or end-to-end UX methodology.
Low engagement.
Lack of relevance.
Lots of data.
You’re booking your next holiday or travel adventure, and the itinerary is coming together. You’re excited, right? Until you hit the checkout page. Suddenly, all that excitement? Gone. Generic, boring, lifeless. “your purchase is complete”. These words should add magic, not kill it.
These companies know a lot about you, where, when, why your traveling. But Personalisation? Practically nonexistent. At least, until now.

We noticed personalisation in travel stops the moment you hit 'book now'—but that's where it should start
Click to expand
With no time for user interviews, we flipped the script and used existing data as our playground
Click to expand
Everyone's personalising the search—nobody's personalising the journey after you've booked
Click to expand
To position this concept, I analysed how major travel platforms currently use data and AI.
This gap is exactly where my concept sits: using AI to personalise the moments after purchase; the confirmation, the lead-up, and the support no platform currently designs for.
Below is a fully functional version of the prototype. Try switching between personas to see how the page adapts — same booking confirmation, different traveller, entirely different content. Click any card to expand it for more detail.
The goal of this project isn’t to show a dynamically generated website content, thats not new. This website, will try to show what it thinks is you want to know, and what you should know based on what you probably don’t know. For example:
Such a hyper personalised experience would have been too much work to implement well before AI, and AI has opened the door for infinitely scalable personalisation in so many industries.
So as you can see it generates something. But the biggest question is does it actually personalise the content to each specific user? is it providing valuable insights, advice or comfort to the users? or is it generating generic content each time?
To evaluate this, I created a persona checklist — a structured way to test whether the AI was genuinely adapting its tone, content, and priorities to each user, rather than just generating generic travel copy. Each checklist outlined what I expected to see (key inclusions and omissions) based on that traveller’s background, experience, and goals. By comparing the generated output against these criteria, I could measure how well the model understood contextual nuances — for example, whether it gave family-focused reassurance for Dewi, efficient insider tips for Jordan, or comfort and accessibility for Harold and Margaret. This process turned subjective impressions into something observable and repeatable, allowing me to critique the system’s strengths and pinpoint where it went wrong with defaulted or generic information.
Family first-time traveller.
Click to expand
Independent design-savvy solo explorer.
Click to expand
Comfort-first retired couple.
Click to expand
Across the three personas, the AI demonstrates credible personalisation range, from Dewi’s guided reassurance, through Jordan’s creative autonomy, to Harold and Margaret’s comfort-centric clarity. The system clearly adapts to intent, region, and confidence level.
These persona evaluations hint where future iterations should cut redundancy and deepen contextual sensitivity. While proof that the personalisation is working, it still needs further refinement.
The program begins by combining any existing user information—such as travel preferences, past destinations and experiences, and demographic details such as occupation, age and gender — with real-time data about the searched destination, including weather, hotels, activities, customs requirements and cultural factors.
The program begins by combining any existing user information—such as travel preferences, past destinations and experiences, and demographic details such as occupation, age and gender — with real-time data about the searched destination, including weather, hotels, activities, customs requirements and cultural factors.
Vercel acts as the server-side logic layer. It receives the JSON payload from Webflow and forwards it to the Wordware API.
Using the combined input, the system builds a more detailed travel persona. This includes generalising traits and expanding on inferred needs, like budget considerations, temporal experience, language support, climatic needs…
This is where the real magic happens. Wordware runs a three-step internal AI process (using ChatGPT) to generate hyper-personalised output:
Finally, the program generates a customised post-search checkout page. This page includes tailored recommendations for accommodations, activities, health and safety tips, required travel documents, and local transport options—curated to align with the user’s persona and destination data.
The AI’s final output is sent back to Vercel, which filters and returns the cleaned JSON. Webflow’s JavaScript then takes that response and dynamically inserts the content into the appropriate divs on the page — no page reloads, no buttons, just seamless personalisation.
Every project starts with curiosity, and this one began with a question: What if AI could make a website feel genuinely personal—without the user ever typing, clicking, or asking?
This project began as a university brief to apply AI meaningfully—find a problem space and design an intervention. I started fast: a Wordware.ai prototype that ingested a few simple inputs (name, age, nationality) and chained LLM steps to infer personality traits and recommend accommodation. It worked—but that early success exposed a bigger truth: LLMs aren’t recommendation engines. They’re language models. What I’d built competed with mature, data-driven algorithms already used by Booking.com, Expedia, and Trip.com, and brought no clear advantage. That realisation was a turning point: learn the difference, and use the right tool for the job.
Rather than force LLMs into matching tasks, I reframed the problem around their natural strength—language and context. If algorithms are excellent at ranking hotels, what’s missing is the human layer: the “why,” the nuance, the for-you context that lives in copy, guidance, and tone. I shifted the focus to the post-purchase moment (checkout/confirmation), where personalisation usually disappears. The question became: What if AI could quietly reshape page content based on known user data—no chat prompts, no buttons—so the experience felt specific, timely, and helpful?
Drag or click to explore






From there, the concept crystallised: expand the user profile with contextual inference, identify gaps between a traveller’s background and destination (e.g., a warm-climate traveller heading to a cold country; a family vs a solo traveller), and generate dynamic, structured content—packing advice, etiquette notes, seasonal tips, transport options—inserted directly into the page.
I iterated the AI pipeline extensively in Wordware: refining prompt stages (Persona → Gap Identification → Output), enforcing structured JSON, and tuning style and tone. Along the way, I wrestled with three core LLM challenges:
Mid-sprint I built a working demo with a local site: a Python script gathered inputs, called Wordware, and returned clean text. I briefly integrated a hotel search API to add live properties and used AI to explain why a place might suit a given traveller—but I cut it due to token costs and because it risked drifting back into “recommendation engine” territory. The learning: be ruthless about scope; keep the AI where it adds unique value.
After the class and semester ended, I’ve kept going. I rewrote the integration from scratch: Webflow on the front, Vercel as the server layer, Wordware for the AI pipeline. Webflow JS now collects inputs, Vercel orchestrates the request, Wordware returns structured JSON (headings, paragraphs, cards), and the UI injects content directly into the right components—no reloads, no prompts. The result is a proof-of-concept that feels like the page simply knows you.
What I learned (and applied):
Right now, the system’s biggest limitation is speed. Each round of reasoning inside Wordware adds latency, and Wordflow itself slows down the response chain. In future iterations, I plan to interface directly with the ChatGPT API rather than relying on Wordware, allowing tighter control over token usage and request flow. By streamlining the logic and reducing token count, the system could return results faster while still maintaining contextual depth.
This project began on ChatGPT-3.0 and later upgraded through 4.0 and 5.0, with each model bringing exponential improvements in reasoning, context retention, and nuance. As these models evolve, the prompting strategy will need to evolve too. Where earlier versions required explicit instructions to “consider culture, weather, and group type,” newer ones infer these automatically. The design challenge ahead lies in re-tuning prompts and logic to match each model’s strengths, ensuring the system remains efficient, adaptive, and intelligent.