Building a holiday planner for ChatGPT
Using the latest tools from OpenAI we built a ChatGPT app that helps users plan a holiday itinerary
Project overview
Technologies
- Model Context Protocol (MCP)
- LLMs
- Custom conversational orchestration
Tools
- ChatGPT
- React
Key features
- Plan personalised holiday itineraries
- Quickly iterate on holiday plans with AI
Contributors
Orchestrating interaction with LLMs
- Explore how large language models can lead task-oriented conversations through a guided journey.
- How combining chat with structured UI shifts users from exploration into decision-making.
- Investigate new patterns of agentic interaction enabled by evolving ChatGPT app platforms.
The prototype
Methodology
Designed a travel-agent–style conversational flow that asks discovery questions upfront
We designed a travel agent–style conversational flow that leads with discovery: questions about interests, group size, pace, and trip constraints. Based on responses, the system generates personalised suggestions presented in an interactive widget, allowing users to pick and refine activities. When a user is ready, the model synthesises those selections into a time-aware itinerary widget with clear timing and next steps, including a call to action.
The diagram above shows how the components fit together in a ChatGPT app. The UI widgets are hosted on a frontend server and then the "backend" is hosted separately on an MCP server. Some MCP tools on the server have references to the UI widgets on the frontend and know how to inject the data into those components, in our case a list of recommended activites returned for a user.
Interactive UI vs text
This approach deliberately balances free-form natural language interaction with structured UI to handle complex decisions — a hybrid pattern that tests where chat adds value and where traditional UI is more effective.
OpenAI suggests building experiences that make sense as conversational workflows that extend ChatGPT's capabilities, rather than just mirroring whats on your existing app or website. These widgets are fairly minimal with only a primary and maybe even a secondary action at most.
A small disclaimer: in the prototype video the model returns a timetable that has a couple of missing activities from those that were selected in the previous step. This is a bug with how the SDK is working at the time of writing and recording and will be fixed and re-recorded once resloved.
Other possible ChatGPT applications
Urban Mobility & City Services
A planning assistant integrated into city or mobility apps that helps residents and visitors plan day-or-weekend itineraries combining transit, activities, and neighborhoods. The agent shifts users from route-finding to experience-oriented planning.
Enterprise & Internal Tools
A pattern for internal planning tools where employees need to assemble schedules, agendas, or offsites. The same discovery → curation → timetable flow can support team planning while reducing manual coordination overhead.
Hospitality Concierge Experiences
A guest-facing concierge layer for hotels and tourism platforms that generates personalised, time-aware activity plans tailored to stay duration and preferences.
Productivity & Personal Planning Tools
An agentic planning interface for personal productivity apps, where the AI helps users structure short-term plans (weekends, projects, learning sprints) through dialogue. The travel use case acts as a proxy for broader time-boxing and prioritisation workflows.