Wander Lens AI - Smart Route Planning with POI Discovery
Experience your journey before you go - Plan routes, discover places, and preview scenery along the way
Inspiration
The inspiration for Wander Lens AI came from a team member's personal experience taking a trip between Los Angeles and San Francisco. They discovered there's a big difference between taking the scenic coastal routes (Highway 1 and 101) with breathtaking ocean views, charming coastal towns, and stunning vistas versus the inland Highway 5 surrounded by farmland and, well, cow dung.
We decided it would be perfect to experience the trip before actually going - to see what restaurants we'd pass, where we could stop for coffee, what attractions were along the way, and most importantly, preview the actual scenery we'd encounter. Traditional GPS apps tell you how to get there, but they don't help you experience the journey or discover what makes each route special.
Wander Lens AI was born from this simple question: "What if you could preview and plan every aspect of your road trip, from the route itself to every interesting stop along the way?"
What it does
Wander Lens AI is an intelligent route planning application that goes beyond simple navigation:
πΊοΈ Smart Route Planning
- Multi-waypoint routing with automatic segment merging for complex journeys
- Multiple routing profiles: Trekking, Fast Bike, Safety, Shortest, Moped
- Real-time route metrics: Distance, estimated time, elevation gain/loss
- Interactive map interface: Click to add waypoints, drag to adjust
π POI Discovery
Discover interesting places along your route with smart filtering:
- π½οΈ Restaurants - Find dining options along the way
- β Cafes - Perfect spots for coffee breaks
- πΊ Bars & Pubs - Evening entertainment stops
- π ΏοΈ Parking - Convenient parking locations
- π» Restrooms - Essential facilities
- ποΈ Tourism & Attractions - Museums, artwork, landmarks
- β And More
πΈ Scenic Preview
- Street-level imagery from Google Maps to preview your route's scenery
- See what the drive actually looks like before you go
- Discover scenic viewpoints and photo opportunities
π― Smart Filtering
- Filter POIs by type to find exactly what you need
- Real-time updates showing available options
- Click any POI to focus and get details
How we built it
Backend Architecture
Built with Python/Flask, our backend uses three powerful APIs:
1. BRouter API - Route Generation
- Generates optimized routes with multiple profiles
- Handles complex multi-waypoint journeys
- Implemented intelligent segment splitting/merging for routes exceeding API limits
- Returns detailed GeoJSON with elevation and timing data
2. Overpass API - POI Discovery
- Queries OpenStreetMap for points of interest
- Searches within route bounding boxes
- Filters by amenity types (restaurants, cafes, parking, etc.)
3. GoogleMaps API - Street Imagery
- Provides street-level photography along routes
- Offers panoramic and directional views
- Helps users preview scenic sections
Frontend
- React with TypeScript for type-safe component development
- Leaflet for interactive mapping and visualization
- Vite for fast development and optimized builds
- Responsive design optimized for desktop trip planning
- Lovable for site design
API Design
RESTful endpoints for clean integration:
GET /api/route?waypoints=lon1,lat1;lon2,lat2&profile=trekking
GET /api/pois?bbox=minLat,minLon,maxLat,maxLon
GET /image-data?lat=37.7749&lon=-122.4194
Challenges we ran into
1. Multi-Waypoint Route Complexity
BRouter's public API has limitations on complex multi-waypoint requests. We solved this by:
- Automatically detecting when routes exceed limits
- Splitting into individual segments
- Intelligently merging coordinates without duplication
- Aggregating metrics (distance, time, elevation)
2. POI Data Overload
Overpass API can return thousands of POIs for large areas. Our solutions:
- Smart bounding box calculation from route geometry
- Client-side filtering for real-time responsiveness
- Prioritized display showing most relevant results first
- Implemented pagination for large result sets
3. API Rate Limits
Managing multiple external APIs required:
- Intelligent caching strategies
- Request batching and throttling
- Graceful error handling and user feedback
- Fallback mechanisms for service interruptions
4. Coordinate System Complexity
Different APIs use different coordinate systems:
- BRouter uses lon,lat format
- Leaflet uses lat,lon format
- Overpass uses lat,lon for bounding boxes
- Implemented consistent transformation layer
Accomplishments that we're proud of
β Successfully integrated three complex APIs (BRouter, Overpass, KartaView) into a cohesive system
β Built multi-waypoint handling that automatically splits and merges routes, solving a major limitation of the BRouter public API
β Created an intuitive UI where users can plan routes and discover places with just a few clicks
β Implemented smart filtering allowing users to customize their trip based on their interests
β Clean, maintainable codebase with separate service modules for easy future expansion
What we learned
Technical Insights
- API integration requires careful abstraction - Each service has unique quirks; wrapping them in clean interfaces made development much smoother
- Geographic data is complex - Coordinate systems, projections, and bounding boxes require careful handling
- Real-time filtering > Server-side filtering - For responsive UIs, client-side filtering of moderate datasets provides better UX
- Error handling is crucial - External APIs fail; graceful degradation and clear error messages are essential
Product Insights
- Users want to experience routes, not just follow them - The combination of scenic previews and POI discovery addresses a real gap in existing navigation apps
- Filtering is essential - Not everyone wants to see every restaurant; letting users choose what's relevant makes the app much more useful
- Interactive maps are intuitive - Click-to-add waypoints feels natural and reduces friction
Development Process
- Start with working examples - Building simple demos first helped us understand API limitations before tackling complex features
- Test with real data - Using actual SF coordinates revealed issues we wouldn't have found with synthetic data, and was much quicker
- Incremental integration - Building one service at a time and validating before moving to the next prevented compounding errors
What's next for Wander Lens AI
Short Term (MVP+)
- π¨ Enhanced UI/UX - Polish the interface with better visual design and animations
- π± Mobile Responsiveness - Optimize for mobile trip planning on-the-go
- πΎ Trip Saving - Allow users to save and share their planned routes
- πΊοΈ Route Alternatives - Show multiple route options with pros/cons
Medium Term
- π¨ Accommodation Integration - Find hotels/camping along routes
- β½ Gas Station Locator - Essential for long road trips
- π€οΈ Weather Integration - Check weather conditions along the route
- π Route Comparison - Side-by-side comparison of different routes
- β POI Ratings - Show reviews and ratings from various sources
Long Term
- π€ Social Features - Share trips, follow other travelers' routes
- π― AI-Powered Recommendations - ML-based suggestion of stops based on preferences
- π Multi-Modal Transport - Support for mixed transportation (drive + bike + walk)
- π± Native Mobile Apps - iOS and Android apps with offline capability
- π EV Charging Stations - Essential for electric vehicle trip planning
- π΅ Spotify Integration - Road trip playlists synced to journey segments
Infrastructure
- π Self-hosted BRouter - Eliminate public API limitations
- πΎ Route Caching - Store popular routes for instant loading
- π Analytics Dashboard - Understand how users plan trips
- π Real-time Traffic - Integrate live traffic data for accurate timing
Built With
- brouter-api
- css
- flask
- google-maps
- gradient-agent
- html
- javascript
- overpass-openstreetmap
- python
- react
Log in or sign up for Devpost to join the conversation.