strava-analyzer
Analyze Strava fitness activities with interactive charts, maps, and smart AI insights
Purpose
Created to explore personal fitness data, build data visualization skills, and demonstrate complex web application features with GPX parsing and interactive mapping
Tech Stack
Tags
Shared Services
Startup Command
./venv/bin/python app.py
Run from project directory: /root/ily.dog/apps/strava-analyzer
README
Strava Data Analyzer Pro
A comprehensive, professional web application for analyzing Strava export data with advanced visualization, maps, and insights.
β¨ Features
πΊοΈ Interactive Maps
- Route Visualization: See your entire activity route plotted on interactive maps
- Start/End Markers: Color-coded markers showing start (green) and end (red) points
- Dark Theme Maps: CartoDB dark tiles for seamless dark mode integration
- Auto-fit Bounds: Map automatically zooms to fit your route perfectly
- Photo Integration: View all photos taken during activities
- Video Support: Play videos directly in the interface
- Media Gallery: Grid layout for easy browsing
- Linked to Activities: Photos automatically associated with their activities
- Dashboard View: Comprehensive overview with trends and statistics
- Activity Trends: Stacked bar chart showing activity types over time
- Top Activities: Leaderboard of your longest activities
- Type Distribution: Pie chart breakdown by activity type
- Elevation Stats: Ranking of activities with highest elevation gain
- Detailed Metrics View: - Distance, time, pace, speed - Elevation gain, calories burned - Gear/equipment information
- Elevation Profile: Interactive chart showing elevation across distance
- Speed Analysis: Speed over distance to identify segments
- Smart Insights: AI-generated insights like: - "π Marathon distance! You've run over 42km!" - "β°οΈ Challenging hills! 500m+ elevation gain!" - "π Excellent speed! Elite pace!" - "π₯ High intensity! 1000+ calories burned!"
- Multi-select: Compare 2+ activities side-by-side
- Side-by-Side Metrics: Distance, elevation, time, speed, calories
- Identify Patterns: See how different activities stack up
- Professional Dark Theme: Strava-inspired color scheme
- Sidebar Navigation: Easy access to all views
- Responsive Design: Works on desktop, tablet, and mobile
- Smooth Animations: Hover effects and transitions
- Search & Filter: Quickly find specific activities
- Strava Export ZIP: Complete exports with metadata, GPX files, FIT files, and media
- GPX Files: Individual GPX files with point-by-point data
- JSON Files: Individual activity JSON exports
- All basic metrics (distance, time, speed, elevation)
- Heart rate data (max/average)
- Calories burned
- Gear/equipment
- Activity descriptions
- Start dates
- Point-by-point GPS coordinates
- Elevation profile
- Cadence data
- Detailed pace analysis
- Photos and videos
- Captions
- Linked to activities
πΈ Media & Photos
π Advanced Analytics
π Individual Activity Insights
βοΈ Activity Comparison
π± Modern UI
π― Supported Formats
π Data Extracted
From CSV metadata:
From GPX files (when available):
From media export:
π Installation
1. Create a virtual environment:
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
2. Install dependencies:
pip install -r requirements.txt
π‘ Usage
1. Run the application:
python app.py
2. Open your browser to http://localhost:5000
3. Upload your Strava export: - ZIP Export: Upload complete Strava export for full analysis - Individual Files: Upload GPX or JSON files
4. Explore your data: - Dashboard: See trends and overview - Activities: Browse all activities, click to view details - Compare: Select multiple activities to compare - Activity Detail: View route on map, elevation profile, insights
ποΈ Project Structure
strava-analyzer/
βββ app.py # Flask application with parsing logic
βββ requirements.txt # Python dependencies
βββ templates/
β βββ index.html # Single-page application template
βββ static/
β βββ css/
β β βββ style.css # Modern dark theme styles
β βββ js/
β βββ app.js # Full application logic
βββ uploads/ # File storage and media serving
βββ README.md # This file
π οΈ Tech Stack
π¨ Key Design Decisions
π Analytics Features
Dashboard Charts:
Activity Detail Charts:
π Search & Filter
π What's New (Pro Version)
π Development Notes
π― Performance
π± Browser Support
Project Location: /root/ily.dog/apps/strava-analyzer