Inspiration
When users relocate to a new city or even plan a spontaneous trip to a familiar one, the fundamental challenge isn't just finding a single restaurant or landmark; it's compiling those individual points into a cohesive, enjoyable, and efficient multi-stop itinerary. We recognized that current mapping and travel tools are excellent at point-A to point-B directions, but they are poor at integrating personal taste, context, and complex routing into a single, intuitive flow. Scout was born out of the need for an AI-powered assistant that can translate vague travel desires into a tangible, optimized visual plan.
What it does
Scout leverages a powerful pipeline of services to transform simple queries into personalized, interactive travel routes:
- User Persona Creation: The system ingests natural language input and runs it through a proprietary flow:
- OpenHands is used for initial intent classification and data ingestion.
- LinkUp aggregates social and preference data to establish a deeper user profile.
- Senso synthesizes this information to distill a precise travel persona.
- Intelligent Itinerary Generation: This persona then guides the AI to generate several suggested routes (e.g., "The Uptown Route," "The Downtown Route") complete with categorized stops (Thai dinner, bar, residential end point).
- Conversational & Visual Flow: The application presents these options in a responsive chat interface, allowing the user to select a route, which then instantly highlights the entire route and its stops on the interactive map.
How we built it
Scout was architected using a modern, scalable stack to maximize development speed and performance:
- Core Technologies: We utilized a Node.js runtime environment coupled with a React (Next.js) frontend for robust, server-rendered component management.
- Frontend Design: The application's sleek, responsive aesthetic was rapidly developed using the Tailwind CSS utility-first framework. We structured the main application around modular components like
SearchBar,ChatInterface, andMapView. - Client-Side Logic: We implemented custom regular expression and stop-word filtering logic to perform real-time, client-side natural language parsing to reliably extract location intent from user queries and dynamically update the map.
Challenges we ran into
Our primary obstacle was integrating all three services (OpenHands, LinkUp, Senso) and their output into a seamless, high-performance user experience within a tight deadline. Specifically:
- Synchronization: Ensuring the chat interface, the suggested route cards, and the interactive map component remained perfectly synchronized and responsive to user input proved complex, especially when dynamically adjusting map location based on text mentions.
- Layout Prioritization: Achieving the desired layout—a highly optimized, expanded chat area for conversational focus, while still displaying a dedicated map—required careful, minute adjustments to the Tailwind grid utilities.
Accomplishments that we're proud of
We are most proud of successfully delivering a sleek and fully functional demo that vividly showcases the core innovation: the conversational planning loop. Specifically, the ability to transition from a single search query to an interactive, multi-stop visual route in seconds, all within a clean, modern user interface, is a testament to the team's efficient execution.
What we learned
Beyond the technical skills in Node, React, and integrating third-party services, we learned valuable lessons in rapid, high-stakes collaboration. Working with new teammates under intense time pressure underscored the importance of clear component boundaries, focused communication, and disciplined state management to quickly merge and iterate on complex features.
What's next for Scout
Group-Based Itineraries: Developing a feature to allow multiple users to input their preferences (or personas) and intelligently generate a single, consensus-based route that resolves conflicting needs (e.g., merging a "luxury traveler" persona with a "budget foodie" persona).
Log in or sign up for Devpost to join the conversation.