Inspiration
The inspiration for Rouvia came from a fundamental problem we all face: navigation systems are not designed for how humans actually communicate. This impacts two core areas of travel: safety and experience.
Traditional GPS systems force drivers to manually input destinations while driving, creating dangerous distractions. They require rigid, specific commands instead of understanding natural language creating unsafe and inflexible systems.
But also, we were inspired by the vision of making navigation human again in the way it prioritises the user’s experience. What if you could simply say "I need to get a haircut before my date at 5"? What if planning a trip could be as natural as talking to a friend who knows the area?
Core Features:
Smart Map & Route Planning
- Maps your desired experience to a route
- Context-aware intent parsing using Google Gemini LLM
- Support for complex, multi-destination requests
Unstructured Data Processing
- Processed messy voice input and natural language into structured navigation data.
- Built a trendiness scoring system using Cohere's AI knowledge to evaluate location popularity.
- Created a hybrid pipeline that handles incomplete speech, ambiguous references, and personal context while maintaining data quality through confidence scoring and fallback mechanisms.
- Multi-stage processing pipeline: Raw audio → Whisper transcription → Gemini intent parsing → Cohere - RAG personal location matching → trendiness scoring.
- Used confidence-based filtering at each stage with structured JSON outputs.
- Implemented intelligent caching and distance-based relevance filtering.
- Planned web scraping integration for real-time event and activity data from multiple sources
Voice-First Navigation
- Natural language processing for conversational requests
- Voice-to-text using OpenAI Whisper for accurate transcription
- Provides safe hands-free control for drivers
Intelligent Route Optimization
- Dynamic constraints (time, distance, preferences)
- Real-time route optimization using Google's advanced APIs
- Integration with MongoDB to remember saved places and user preferences
Sidequest Mode
- Generates spontaneous route suggestions when you have no specific plans
- Considers energy level, price, distance, and user interests
Personalized Experience
- Learns from user behavior patterns and adapts to past choices
- Account registration to save location ie. Home, School, Work etc.
How we built it
Rouvia is built as a modern full-stack application with a sophisticated AI-powered pipeline that transforms voice input into optimized routes.
Technology Stack
Frontend (Next.js 15)
- React, TypeScript, and Tailwind CSS
- Mapbox GL JS for interactive maps and route visualization
- Web Speech API for browser-based voice input
Backend (FastAPI)
- Python 3.11 runtime environment
- Pydantic for data validation and serialization
- Uvicorn ASGI server for high performance
External AI Services
- OpenAI Whisper for speech-to-text transcription
- Google Gemini for large language model intent parsing
- Cohere for trend analysis and content enhancement
- Google Places API for location and business information
- Google Directions API for route calculation and optimization
Infrastructure
- Docker containerization for consistent deployment
- Nginx reverse proxy and load balancing
- MongoDB for user data and preferences storage
- Redis for caching and session management
Multi-Stage Processing Pipelines
Regular Route Planning Pipeline
Raw Audio → Whisper Transcription → Gemini Ambiguous Word Detection → Cohere RAG Personal Location Matching → Complete Order Parsing → Mixed Location Resolution (Personal + Google Places) → Route Optimization → Mapbox Visualization
Sidequest pipeline:
Input parameters → Gemini Intent Parsing → Activity Discovery (Google Places + Eventbrite + Luma + Blog Scraping) → Cohere Trendiness Scoring → Complete Order Parsing → Route Optimization → Mapbox Visualization
Challenges we ran into
Data Quality & Consistency
- Challenge: Integrating data from multiple sources (Google Places, Eventbrite, Luma, blogs) with varying quality and formats
- Solution: Started smaller, and developed comprehensive data validation, normalization, and enhancement pipelines using Cohere for content analysis
Coordinating multiple AI tools and APIs -Determining the most efficient process for API call sequences
Accomplishments that we're proud of
- Turned messy, half-finished voice commands into clear, structured navigation—something that actually feels natural to use.
- Made AI personal: the system remembers your own saved places and gets smarter the more you use it.
- Designed a trendiness score approach for ever-changing discovery in a diverse world.
- We resourcefully pulled together Whisper, Gemini, Cohere, and Mapbox and other APIs into one smooth pipeline, as if it were an agentic workflow, but across tools.
- We handled the unpredictable human nuances with confidence scoring, caching, and fallbacks so the system feels reliable, not random.
- We set things up for the future: real-time events, social recommendations, and friend-based discovery.
What we learned
- How to make the most of different AI models that could communicate a single pipeline
- That handling messy, human input is harder than just parsing text, it takes careful confidence checks and fallbacks as there are nearly infinite edge cases.
- Personal context transforms navigation from generic to actually useful. In itself it is an endlessly growing dataset, but what matters is being open to understanding various ways to interpret everyday pieces of data.
What's next for Rouvia
- Multi-Source Integration: Implementing broader web scraping to Luma, Eventbrite, local Blogs to increase traction of event recommendations.
- Mobile App Development: Create native mobile applications for iOS and Android
- Social Network RAG: Link knowledge bases across user's friends and social networks, enabling collaborative discovery and friend-based recommendations.
Built With
- auth0
- cohere-api
- docker
- fastapi
- figma
- gemini
- google-directions
- google-places
- mapbox
- mongodb
- next.js
- python
- rag
- react
- typescript
- wispr

Log in or sign up for Devpost to join the conversation.