Glove
A fast multi-modal journey planner built in Rust with a React frontend.

Glove loads GTFS data into memory, builds a RAPTOR index, and exposes a Navitia-compatible REST API for journey planning. It supports public transit, walking, cycling, and driving via Valhalla integration.
The React portal provides an interactive map-based interface with autocomplete, route visualization, and multilingual support (FR/EN).
Get up and running in 3 commands:
bin/download.sh all # Download data
bin/valhalla.sh # Start Valhalla (optional)
bin/start.sh # Start the server
Then open http://localhost:8080
Key Features
Routing
- RAPTOR algorithm for optimal public transit journey computation
- Multi-modal: public transit, walking, cycling (3 profiles), driving
- Diverse alternatives with progressive pattern exclusion
- Journey tags: fastest, least transfers, least walking
- Elevation-colored bike routes (green = descent, red = climb)
- Turn-by-turn directions for walk, bike, and car routes
Data & Search
- Fuzzy autocomplete with French diacritics normalization
- BAN integration for French address geocoding
- Hot reload via API without service interruption
Frontend
- Interactive Leaflet map with route polylines and stop markers
- Mode tabs: Transit, Walk, Bike, Car
- Dark theme with CARTO basemap and glassmorphism UI
- Metrics panel with live CPU, memory, and request stats
Developer Experience
- Navitia-compatible API for drop-in replacement
- OpenAPI documentation auto-generated
- Prometheus metrics endpoint
- Benchmark tool for load testing
- Dev mode with cargo-watch + Vite HMR