Connect the app to authorized Strava activity records.
Geospatial activity analytics
Heatmaps
Flask and Leaflet.js web app for exploring Strava activities as interactive routes with map themes, geosearch, and activity details.
Background
Heatmaps makes Strava activity history explorable on an interactive map instead of a static list of workouts.
Heatmaps is a CS50 final project web app for exploring Ethan Aidam's past Strava activities on an interactive map. A Flask backend serves the app, while HTML, CSS, and JavaScript power the frontend. The map view turns activity history into routes drawn as polylines, so users can click a route and inspect details like activity name, distance, and duration.
The goal is an accessible route-viewing interface rather than a physiological model. Leaflet.js handles the map, Stadia Maps and OpenStreetMap provide tile and search support, and the interface includes customizable themes such as outdoors, dark mode, and topographic. The app also supports geosearch and automatically zooms toward the athlete's home city based on Strava data.
Project Workflow
From Strava activities to interactive geospatial layers.
The app workflow keeps data access, transformation, serving, and browser rendering separated so route data can become a responsive Leaflet map experience.
Retrieve route and workout metadata for analysis.
Prepare activity points and route data for browser rendering.
Serve the app views and data endpoints for the frontend.
Display map layers, heatmap overlays, and route behavior patterns.