Inspiration
We’ve all watched a group trip die in the group chat: nobody agrees on dates, people drop out, and one person ends up doing all the planning. AI tools are great at planning my vacation. We wanted one that plans our vacation, keeping everyone heard and committed all the way to booking.
What it does
TravelSync turns everyone’s schedules, budgets and preferences into one trip the whole group agrees on.
Easy onboarding: The host shares an invite link, and friends sign in with a texted verification code. No accounts or passwords. Everyone has a say: Each traveler adds their budget, interests, home city and free days. The host confirms dates using suggestions that avoid holiday price spikes and account for flight time, plus real Google Flights prices. Muse plans, the group votes: Muse Spark by Meta creates 3 trip options. Everyone votes with notes, and Muse builds one compromise itinerary filled with real places, photos and reviews. A group chat with @muse: Ask questions, get 3 real restaurant alternatives, or do your own thing as a personal plan. Changes to the shared plan go to a group vote. Travel that fits the route: Each traveler gets live flights from their own city, and every city the group stays in gets its own hotel search. Muse books it for you: Connect the Muse app to your trip, and Muse finds your flight and hotel, asks “Do you want to book this?”, books it, and logs the confirmation so your whole group can see it.
How we built it
Next.js 16, React, TypeScript and Tailwind, deployed on Vercel. Muse Spark (Meta Model API) handles all planning through strict JSON schemas, and every response is validated on the server, so Muse reasons while real data supplies the facts. SerpApi provides Google Maps, Hotels and Flights. Supabase Postgres stores each trip with optimistic locking, so simultaneous votes never collide. Twilio Verify handles phone sign-in codes, and Nodemailer sends booking receipts.
Connecting Muse with MCP: We built our own Model Context Protocol server into the app and added TravelSync as a custom connector in the Muse app. From there, Muse can read your itinerary and booking checklist, look up the details for your flight and hotel, and record what it books. Each traveler’s connection only sees their own part of the trip, never anyone else’s.
Challenges we ran into
Group decision edge cases: What happens on a tie? What if someone wants a change the rest of the group doesn’t? What if two people vote at the exact same second? Every rule we added had to stay fair to everyone without letting one person rewrite the trip or trapping the group in endless re-votes.
Getting Muse connected: Setting up our MCP server so the Muse app could reach it securely, and making sure it only ever sees one traveler’s slice of the trip.
Our biggest challenge showed up the moment real groups tested it. When 4–5 friends used the app at once (voting, loading flights and hotels, chatting with Muse), everything collided. Saves overwrote each other or failed with “too many people changed it at once,” and the flight and hotel APIs throttled the burst of searches, so flights randomly came back empty. We fixed it by: making saves retry with short random delays instead of failing sharing lookups between requests so the same airport isn’t looked up 5 times retrying throttled searches staggering each phone’s searches by a moment so they don’t all fire at once
Real photos for every stop, without the wait: We wanted every option and itinerary stop to show a real photo of the actual place, not stock images. But a single itinerary can need 20–35 photo lookups, and pulling them all before showing the page meant staring at a loading screen for a long time.
Accomplishments that we’re proud of
Muse Spark is the group’s planner, not a chatbot bolted on the side. It drafts, proposes, compromises and edits live in the group chat. Through MCP, Muse found real flights and hotels for our trip, asked before booking, and booked them, taking the trip from “we should go” to booked.
What we learned
How to make an LLM dependable in production, how to build an MCP server an AI assistant can use securely, and that group software is really about fairness.
What’s next for TravelSync
Booking everything, not just flights and hotels: Museum tickets, bullet trains like the Shinkansen and Eurostar, tours, restaurants and event tickets, all booked by Muse straight from the itinerary. Multi-leg trips: Fly into Tokyo, take the train to Kyoto, and fly home from Osaka, or backpack Rome → Paris → London. Calendar import: Pull availability straight from Google Calendar.
Log in or sign up for Devpost to join the conversation.