EasyRoute

A route planning API that generates personalized walking and biking routes with points of interest.

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
Last modified 2025.06.01