AI-powered running performance analysis that turns GPX data into interactive pace maps, finish-time predictions, and training insights using machine learning.
Runners track thousands of kilometres through GPS watches and apps, but raw GPX files rarely translate into actionable insight. PaceMap AI closes that gap with a Python pipeline that parses running data, visualises pace along the route, and trains machine learning models to predict finish times from distance, elevation, weather, and fatigue patterns.
The project combines sports analytics with practical ML engineering — from Haversine-based distance calculations and GPS smoothing through to model evaluation with MAE, RMSE, and R² metrics. It is built for runners who want to understand how terrain and conditions shape performance, not just record it.
Most runners rely on post-run summaries from Strava or Garmin without tools to model how a specific route, elevation profile, or training load will affect race-day performance. Pace planning and finish-time estimation often stay manual, while GPS noise and inconsistent file formats make custom analysis difficult without a structured pipeline.
GPX files are parsed into track points, coordinates are smoothed to reduce GPS noise, and segment paces are calculated using the Haversine formula. Folium generates interactive maps; scikit-learn trains and compares models on engineered features. A 195-test pytest suite (96%+ coverage) covers parsing, pace calculation, visualisation, data loading, and ML modules.
The Gradient Boosting model achieves strong generalisation on held-out runs — example benchmarks include MAE around 89 seconds and R² above 0.91 on test data. Feature-importance analysis consistently ranks distance and elevation gain as the strongest predictors, with engineered fatigue and pace features adding meaningful signal.
v1.0 delivers end-to-end GPX analysis, ML-based race prediction, and production-grade test coverage. Active roadmap items include real-time race prediction, interval training analysis, and a future web dashboard.