Sitemap

Building a travel assistant in Bolt

3 min readSep 16, 2025

I wanted to create a first iteration of a travel assistant. People increasingly use ChatGPT to create their travel itineraries, and I was curious about what an app could look like that combines both human-curated and AI-generated travel suggestions.

First, I took my crude product idea and turned it into a PRD. In Bolt, I set the system instructions for the AI to provide me with a plan first before jumping into implementation.

Press enter or click to view image in full size
Image Credit: screenshot

One of the things I love about being able to create products with AI is that I can learn about different technologies along the way. With my travel assistant idea, Bolt suggested using Zustand, a state management solution I hadn’t come across before. It’s great how AI development tools can introduce you to new tech stacks organically.

Press enter or click to view image in full size
Image Credit: screenshot

I asked the AI to fix some small issues before moving on to the second milestone. What’s brilliant is that non-engineers like me can still examine the code and verify whether the right file has been included or whether a certain fix has indeed been applied. There’s something quite empowering about being able to read and understand the changes, even without deep technical expertise.

Press enter or click to view image in full size
Image Credit: screenshot
Press enter or click to view image in full size
Image Credit: screenshot

With the system instructions I’d set in Bolt, it presented a plan to implement the next milestone of my PRD. I found myself learning about best practices for state management in Zustand — knowledge I definitely wouldn’t have picked up in traditional product management.

Press enter or click to view image in full size
Image Credit: screenshot
Press enter or click to view image in full size
Image Credit: screenshot
Press enter or click to view image in full size
Image Credit: screenshot

And I’m learning about how to best do state management in Zustand:

Press enter or click to view image in full size
Image Credit: screenshot
Press enter or click to view image in full size
Image Credit: screenshot

I then asked the AI to execute the third milestone of my PRD, which got implemented quite nicely. The caveat was that it was only simulating real booking APIs for now. My next challenge would be integrating the app with actual booking APIs — something that would require more careful consideration of data privacy and commercial partnerships.

Press enter or click to view image in full size
Image Credit: screenshot

As I was playing with the app, I noticed that the translation capability wasn’t working properly. In the interest of time and simplicity, I decided to remove language support entirely. I didn’t want the translations to feel incomplete or create a poor user experience. Sometimes the best product decision is knowing what to cut. I then deployed the app to the internet, and you can find it here.

Main learning point: Patience remains paramount when vibe coding. I found this again when building a first prototype of a travel assistant. Even for the couple of hours it took me to create the prototype, I spent a large proportion of that time fixing bugs — large and small — and learning how to improve the state management of the app

--

--

MAA1
MAA1

Written by MAA1

Product person, author of "My Product Management Toolkit" and “Managing Product = Managing Tension” — see https://bit.ly/3gH2dOD.

No responses yet