Features
What TrainStack can do for you.
An overview of the platform's capabilities -- multi-sport tracking, device sync, structured logging, and the analytics that set TrainStack apart from closed alternatives.
Multi-Sport Tracking
Running is live with dedicated pace, splits, and HR zone views. Cycling, climbing, swimming, and strength are next.
Device Sync
Apple Health sync is live today. Garmin, Strava, Whoop, Oura, and 12 more providers are on the roadmap.
Health and Recovery
Sleep, HRV, readiness, resting heart rate, and daily metrics from all connected devices on a unified timeline.
Structured Workouts
Create or import workout plans with interval targets for pace, power, and HR. See planned vs actual performance.
Equipment Tracking
Track gear lifecycle with distance, sessions, and retirement thresholds. Running shoes, climbing shoes, bikes, and more.
Open Source
Fully open source. Self-host on your own infrastructure, fork it, extend it. Your data stays yours.
Activity Tracking
TrainStack starts with running — dedicated activity cards with pace, cadence, elevation, HR zones, and per-km splits for both road and trail runs. Every other activity type synced from Apple Health is stored with universal metrics (duration, heart rate, calories, distance) and displays on a generic activity card. No data is lost — dedicated UI for additional sports is being added over time.
What's Next
The data model already supports sport-specific detail for cycling (power, cadence), climbing (per-ascent grades, styles), strength training (sets, reps, weight, RPE), and more. Dedicated UI for these sports will roll out as the platform grows. See the supported sports page for the full roadmap.
Sync and Data Sources
TrainStack syncs from Apple Health today via the iOS app, with background HealthKit sync keeping data up to date automatically. Garmin, Strava, Whoop, Oura, and 12 more providers are on the roadmap. See the full list on the integrations page.
Multi-Source Architecture
The data model is built for multi-source from day one. Every activity stores its source, original provider type, and raw data. When additional providers come online, TrainStack will detect duplicates and keep the best version -- you'll set source priorities and the system will use the richer, higher-priority record as the default while preserving everything from every source.
Lossless data
The raw data from each provider is preserved exactly as it arrived. TrainStack normalizes it into a consistent format for display (same units, same field names), but the original is always there. If a provider reports calories differently than another, you can see both the normalized value and the original.
Health and Recovery
Beyond activities, TrainStack tracks the data that informs how you train.
Sleep
Sleep sessions from Whoop, Oura, Garmin, and Apple Health sync automatically. Each session includes duration, sleep stages (deep, REM, light, awake), sleep efficiency, and recovery metrics like HRV and resting heart rate.
Daily Metrics
Daily summaries -- HRV, resting heart rate, readiness scores, weight, body fat, steps, stress -- from all connected sources. When multiple providers report the same metric, source priorities determine which one displays by default.
Calendar View
A unified calendar combines planned workouts, completed activities, sleep data, and daily metrics on a single timeline. See what you planned, what you did, and how recovered you were -- all in one place.
Equipment Tracking
Track the gear you use -- running shoes, cycling shoes, climbing shoes, bikes, harnesses -- and link it to activities. TrainStack tracks cumulative distance, duration, and session count for each piece of equipment. Set retirement thresholds (800km for running shoes, 500 sessions for climbing shoes) and get notified when gear is due for replacement. See the full details on the equipment page.
Supported Sports
Running is live with dedicated UI today. Every other sport ingests cleanly with a generic activity card — no data is lost, and dedicated support is being added over time without any changes to your existing data. See the full list on the supported sports page.