Links
Description
EasyRoute is a REST API service built in Rust that generates personalized walking and cycling routes enriched with points of interest. Given a starting location and a target distance, it creates loop or point-to-point routes that pass through monuments, viewpoints, parks, museums, and other interesting places.
The routing engine combines PostGIS spatial queries for POI discovery with Mapbox for turn-by-turn directions. A waypoint selection algorithm picks relevant stops along the route and scores alternatives based on POI density and route quality. A three-tier caching system (Redis + PostgreSQL + Overpass) keeps external API calls low.
Tech stack
- Rust with Axum for the async HTTP server
- PostgreSQL + PostGIS for geospatial queries
- Redis for caching
- Mapbox Directions API for route geometry
- OpenStreetMap Overpass API for POI data