Navigo helps riders find nearby matatu/bus stages, preview walking routes, and navigate with real-time, low-latency guidance. The app prioritizes map smoothness, battery awareness, and useful micro-interactions
# Navigo
**Real-time public-transport navigation for Nairobi's matatu and bus network.**
---
---
## Screenshots
| Search & Plan | Route Results | Live Navigation |
|:---:|:---:|:---:|
| | | |
| **Map & Stops** | **Kwame AI** | **Community** |
| | | |
> Add screenshots to `assets/screenshots/`, recommended: iPhone 15 Pro, 393 × 852 pt, light + dark variants.
---
## Overview
Navigo is the passenger-facing mobile app for Nairobi's informal matatu/bus network, a full journey-planning and live navigation experience built specifically for the city's fill-and-go transit reality.
It covers the complete commute loop: search → plan → navigate → contribute, with an AI assistant (Kwame), gamified crowdsourcing, and a projection-based navigation engine that handles the fill-and-go reality of Nairobi transit better than schedule-only approaches.
---
## Features
### Journey Planning
- **Multi-itinerary planner**, up to 5 route alternatives ranked by fastest / cheapest / least walking / fewest transfers
- **Kwame AI assistant**, Gemini-powered conversational trip planner with voice input (VAD auto-stop), Google Cloud TTS response, and persistent session memory
- **In-trip copilot**, Kwame answers live trip questions ("how many stops left?") using real-time navigation context
- **Safety scoring**, night-time itineraries scored by walk distance after dark + nearby hazard reports; safer route flagged
- **Route preview fly-through**, animated camera sweep along the full polyline before starting
### Navigation Engine
- **Projection-based** (not proximity-based), projects GPS onto route polyline for accurate progress, ETA, and step detection; handles loops and U-turns correctly
- **EMA smoothing**, location (α=0.3), heading (α=0.7), speed (α=0.5) with circular-arithmetic heading interpolation
- **Off-route detection**, 3 consecutive strikes > 45 m from line; recovers automatically
- **Dead reckoning**, advances position estimate during GPS gaps ( …