Straify: Finding My Running Rhythm Through Data
From Curiosity to Comprehensive Health Tracking
It started with a simple question: Which Spotify tracks make me run faster?
As a runner who always trains with music, I thought I picked up the pace and pushed on during certain songs.
That curiosity led me to build Straify, a project that began as a way to correlate my Spotify listening history with my Strava running data. What started as a single integration has morphed into a data platform that brings together my strava activities, music listening habits, and biometric measurements into one place.
The Core Idea: Music Meets Motion
The point of Straify is answering that original question about music and running performance. Here’s how it works:
- Pull running data from Strava – Every run includes timestamps, GPS tracks, pace splits, heart rate, and distance
- Sync Spotify playback history – Track exactly what songs were playing during each activity
- Match timestamps – Map each song to specific points in the run, down to GPS coordinates
- Analyze pace correlation – Calculate running pace during each track to identify “pace boosters”
The result? I can now see definitively which tracks correlate with my fastest splits. Well mostly… The first few tracks tend to creep to the top as I’m usually running faster at the start.
Beyond Music: Expanding the Health Data Universe
Once I had the Strava-Spotify integration working, I realised the potential for a broader health tracking platform.
Withings Health Metrics
I integrated my Withings smart scale to track:
- Body composition: Weight, fat mass, muscle mass, and fat percentage over time
- Vascular age: An interesting metric that estimates cardiovascular health
- ECG recordings: Heart rhythm data with AFib detection
Now I can correlate my running volume with body composition changes, or see if increased exercise impacts my vascular age.
The Full Picture
Straify now connects three major data sources:
Strava – Running and fitness activities
- Distance, pace, heart rate, elevation
- GPS tracks and photos
- Activity splits and performance metrics
Spotify – Music listening patterns
- Recently played tracks with timestamps
- Playlists and audio features (tempo, energy, danceability)
- Real-time playback status
Withings – Biometric measurements
- Body composition trends
- Cardiac health data
- Historical measurements with time-series analysis
The Technical Stack
Straify is built with Python, using:
- Flask for the web interface
- SQLite for local data storage
- InfluxDB for remote time data storage
- OAuth 2.0 for secure service authentication
- Model Context Protocol (MCP) servers to expose data as tools for Claude
The MCP integration is particularly powerful, it lets me have conversational AI access to all my health data. I can ask Claude questions like “What were my top pace-boosting songs last month?” or “How has my muscle mass changed since I started trail running?”.
Key Features

Activity Analysis Dashboard
The main dashboard shows:
- Connection status for all three services
- Recent runs with key metrics
- Recently played tracks with album art
- Latest health measurements
Detailed Activity Views
For each run, I can see:
- Split-by-split pace analysis alongside the playlist
- GPS track visualization with markers showing where each song played
- “Pace booster” rankings identifying the top 5 songs that coincided with fastest pacing
- Photos captured during the activity


Music-Activity Correlation
The system handles different activity types intelligently:
- Auto-recorded activities: Matches Spotify timestamps to activity windows
- Manual activities: Pulls playback history from the time window
- Playlist analysis: Can compare different playlists against the same activity

Health Trends
Withings integration provides:
- Latest measurements displayed as cards
- Time-series charts showing trends
- Daily downsampling for long-term analysis
- ECG data with AFib classification history
What I’ve Learned
Beyond confirming that faster-tempo music helps my pace, Straify has revealed some interesting patterns:
- Consistency matters more than intensity – My body composition improved more with regular, moderate runs than sporadic hard efforts
- Manual vs. auto-tracked activities – Manually logged runs often have less accurate pace data, making music correlation less reliable
The Future
While Straify started as a weekend project to satisfy my curiosity about music and running, it’s become a valuable tool for understanding my health holistically. The MCP integration with Claude opens up exciting possibilities for AI-powered insights.
Open Source?
I built Straify primarily for personal use, but the architecture is modular enough that others could adapt it. The MCP servers make the data accessible to any Claude-compatible application, which is a powerful pattern for personal health data projects.
Final Thoughts
What began as a simple question – “Which songs make me run faster?” led to building a comprehensive personal health data platform. The answer to that original question? Yes, certain songs consistently correlate with faster paces.
Straify is a personal project integrating Strava, Spotify, and Withings data through OAuth 2.0 and exposed via MCP servers for Claude integration. Built with Python, Flask, and SQLite
Leave a Reply