Image of Duc Kieu
AboutBlogProjects
Imprint
TripTune

TripTune

🚞
November 2025β€’4 min read
GitHub β†’Live Demo β†’

Recently, I heard about the Tourism Hackathon in Salzburg, Austria.

It was taking place right next to the "Alles fΓΌr den Gast" trade fair, so the whole event already sounded full of energy.

Then came the real selling point:

free food πŸ”

And just like that, any remaining hesitation disappeared.

So of course, I went.

Challenge

Planning a trip sounds fun at first.

Until you actually have to plan it.

Then it suddenly becomes a full-time job.

First, you open ten tabs. Then twenty. Then your browser starts questioning your life choices.

You look for cool places to visit, check whether they are actually worth it, see if they are open, find out when to go, and somehow still end up in the most overcrowded tourist spot imaginable.

So the real question was:

How can we make trip planning ridiculously easy?

How can we help people discover places that are actually exciting, not just the same five spots everyone already saw on social media?

And how can we bring hidden gems to the surface, the kind of places tourists would love if only they knew they existed?

Solution

That is where Triptune comes in.

Triptune is your immersive travel planner.

You simply talk to our AI agent, and it helps you discover places that actually match your interests.

It checks the annoying stuff for you too.

Things like the weather, the best time to visit, and whether a place is likely to be overcrowded.

So instead of doing detective work across fifteen different apps, you can just focus on the fun part: actually looking forward to the trip.

Whether you want to plan a hike, discover hidden gems, or just explore a city in a more personal way, Triptune helps you get there faster.

And the best part?

You can simply speak or chat with it. Whatever feels more natural.

Voice Mode
Voice Mode

Voice Mode

How we built it

The app was built with React for the frontend, Supabase as the BaaS, and OpenAI as the AI agent. Mapbox was used for map rendering and location visualization. Here is the workflow:

  1. Submit user message: The user enters their travel question or destination through the chat interface, which is then sent to OpenAI for processing along with the full conversation history.

  2. AI selects a tool: OpenAI processes the message and decides whether to reply with text or trigger a map action. This includes zooming to a city, displaying attractions, revealing a hidden gem, showing a hiking route, or locating a therapy center.

  3. Fetch location data: If a map action is triggered, the frontend queries Supabase to retrieve the relevant data. This includes POI coordinates, ratings, images, or GPS trail points for the hiking route.

  4. Command the map: The retrieved data is passed to Mapbox GL, which animates the camera to the target location, drops markers, draws route lines, or highlights specific buildings in 3D.

  5. Return AI response: OpenAI's text reply is displayed in the chat, providing travel context or confirming what was just shown on the map.

TripTune Architecture
TripTune Architecture

TripTune Architecture

Learnings

Mapbox was one of the biggest takeaways for me.

I had used it before in prototypes, but this was the first time it really became the core of the app. The developer experience was super intuitive and fun to work with.

At the same time, it showed me where prototypes and real usage can differ. On my machine, everything ran smoothly. On others, there was noticeable lag and stuttering. So for production, performance on lower-end devices is definitely something to watch.

I also learned that location data can be tricky. Mapbox's Geocoding API worked well for places in Salzburg, but was much less reliable for other places like Hanoi, Vietnam. That made Google's API feel stronger in terms of coverage.

Overall, it was a fun build, and even better: we ended up winning 2nd place.

I feel very thankful to have gone through this experience with such a wonderful team. I'm proud of what we built together, and I sincerely hope we'll meet again in the future.

Our cool team
Our cool team

Our cool team

Techstack

  • React
  • Mapbox
  • Supabase
  • OpenAI API