Inspiration
Travel planning has always been a pain point for me and countless others. You spend hours researching places, trying to figure out optimal routes, and often end up with a scattered itinerary that wastes time on transportation. I wanted to create something that would make exploring any city feel as natural as having a local friend show you around.
The inspiration struck during a trip to Florence where I spent more time planning than actually exploring. I realized that with the power of modern AI, we could automate the tedious parts of travel planning while keeping the excitement of discovery.
What it does
NavPlan is an intelligent travel planning platform that transforms the overwhelming task of exploring a new city into an effortless, personalized experience. Users can:
- Search any location and instantly discover places based on their interests.
- Get AI recommendations that match their travel style and preferences.
- Generate schedules that minimize travel time and maximize experiences.
- Save and manage multiple itineraries with detailed place information and notes.
- View interactive maps with real-time directions and place details.
- Customize every aspect from travel modes to time constraints and personal preferences.
How we built it
We built NavPlan as a web application using a TypeScript React client for the front end, a Python FastAPI server for the back end, and MongoDB Atlas for all database functions. Our building process focused on creating a smart and efficient travel planning experience.
First, we designed the back end. This involved connecting to the Google Places API for live location data, and using MongoDB Atlas for storing information and running complex searches, including location-based queries. A key challenge was keeping data current without spending too much, which we solved with caching and background updates. Our Gemini AI also runs here, using its own methods to suggest personalized plans.
Then, we focused on the front end. We made a React/TypeScript interface that's easy to use, with a map at its center for exploring. This part lets users see suggested routes and change their plans. We deployed the back end on Railway and the front end on Vercel.
Challenges we ran into
We faced several challenges while building NavPlan. Location-based searches were slow at first, so we fixed this by optimizing MongoDB queries with proper indexing and data pipelines. Balancing AI automation with user control was also tricky. We had to find the right mix so the AI helped without limiting users too much. To get real-time data without high costs, we built a system that uses caching and background updates. Lastly, showing multiple routes and schedule parts clearly on Google Maps was a complex task, requiring careful handling to make it user-friendly and fast.
Accomplishments that we're proud of
- MongoDB Implementation: Successfully leveraged geospatial queries, text search, and aggregation pipelines to create effective, location searches.
- User Experience: Built an interface that makes complex travel planning feel effortless and enjoyable.
- AI Integration: Created personalization algorithms that feel helpful rather than restrictive, with decent customization.
- Real-World Problem Solving: Addressed genuine pain points in travel planning with a practical, usable solution.
What we learned
MongoDB Features: We dove into geospatial queries, text search, complex aggregation pipelines, and learned to optimize indexes and combine multiple search criteria.
AI Integration: Implementing intelligent place curation and schedule optimization taught us how to balance automation with user control. The challenge was making AI suggestions feel effective rather than restrictive.
Full-Stack Architecture: Building a scalable system that handles complex data relationships between users, places, schedules, and preferences required thoughtful database design and API architecture.
What's next for NavPlan
- AI Chat Assistant: Implement a conversational AI that can answer travel questions, suggest alternatives, and help refine itineraries through natural language.
- Better AI and Schedule Planning: Allow planning to check if a restaurant is open for that time frame and better AI recommendation.
- Organize saved list: Organized your saved list based on place category, name, etc.
- Social Features: Let users share itineraries, rate experiences, and discover trips from other travelers.
Log in or sign up for Devpost to join the conversation.