Inspiration
Planning a trip is naturally collaborative, but most trip tools treat an AI agent as a separate interface. I wanted to explore what becomes possible when a person, their browser agent, and the app itself can all work from the same live plan and map.
What it does
Wayfinder turns a rough idea—like “a rainy Sunday in Porto with kids”—into a map-ready trip plan. It asks focused follow-up questions about timing, companions, budget, interests, and accessibility, then finds relevant places and keeps the conversation, plan, itinerary, and live map in sync.
Through WebMCP, a browser agent can start or resume a trip, answer the guided interview using the visitor’s preferences, update the plan, ask Wayfinder’s place specialist questions, read the itinerary, and move the map—without scraping the UI.
How I built it
Wayfinder is built with Laravel, Vue, Inertia.js, and WebMCP. The Laravel assistant guides trip discovery, saves structured plans, geocodes named places with Nominatim, and searches OpenStreetMap data through Overpass. Vue manages the interactive conversation and map experience.
I implemented 18 WebMCP tools: two safe guest-only navigation tools and 16 authenticated trip, chat, itinerary, and map tools. Tools are registered reactively according to the visitor’s login state and current trip phase, so agents only see capabilities that are relevant and safe at that moment.
Challenges I ran into
The core challenge was making WebMCP useful in a genuinely stateful product. A trip planner has many moving parts: the active discovery question, saved preferences, conversation history, selected trip, itinerary, and map viewport.
I needed browser-agent actions to remain synchronized with the person’s visible experience. I also needed to avoid exposing overly broad tools or handling credentials through agent tools. My solution was phase-aware, typed tools that reuse the visitor’s existing session and return structured results.
Accomplishments that I'm proud of
I built a complete trip-planning experience rather than a WebMCP proof of concept. A person can begin planning manually, let an agent continue from the same state, refine the plan, and see changes immediately on the live map.
I am especially proud of the tool design: WebMCP is integrated into the product journey, not bolted on. Tools appear and disappear as the experience changes, with read-only actions marked appropriately and guest tools limited to opening authentication UI.
What I learned
WebMCP works best when tools represent meaningful product actions and current context—not just a remote-control layer for UI buttons.
I also learned that agent collaboration needs clear boundaries. Typed tools, phase-aware availability, and explicit read/write distinctions make the experience more reliable for agents while keeping people in control.
What's next for Wayfinder
Next, I want to deepen the planning experience with richer itinerary editing, better preference memory, collaborative planning for groups, and more local discovery sources.
I also want to explore more agent-native flows: letting a visitor’s agent compare options, coordinate constraints across a group, and proactively suggest refinements while Wayfinder remains the specialist for trip context, places, and the live map.
Built With
- laravel
- openai
- php
- postgresql
- saucebase
- typescript
- vue
Log in or sign up for Devpost to join the conversation.