A privacy-first, self-hosted Strava alternative. Import GPX, FIT, and CSV files from Garmin, Apple Watch, Strava, and more. Keep all your data local—no subscriptions, no cloud required.
View Full Documentation - Complete guides for installation, configuration, usage, deployment, and more.
Get Tempo running in minutes with Docker Compose:
# Clone the repository
git clone https://github.com/trevordavies095/tempo.git
cd tempo
# Start all services
docker-compose up -dAccess the application at:
- Frontend: http://localhost:3000
- API: http://localhost:5001
That's it! The database migrations run automatically on first startup. For detailed setup instructions, authentication, and configuration, see the full documentation.
- Multi-Format Support - Import GPX, FIT (.fit, .fit.gz), and Strava CSV files from Garmin, Apple Watch, and other devices
- Workout Analytics - Track distance, pace, elevation, splits, and time series data
- Interactive Maps - Visualize routes with elevation profiles
- Media Support - Attach photos and videos to workouts
- Weather Data - Automatic weather conditions for each workout
- Bulk Import - Import multiple workouts at once via ZIP file (up to 500MB)
- Heart Rate Zones - Calculate zones using Age-based, Karvonen, or Custom methods
- Relative Effort - Automatic calculation of workout intensity based on heart rate zones
- Best Efforts - Track your fastest times for standard distances (400m to Marathon) from any segment within workouts
- Shoe Tracking - Track mileage on your running shoes and know when to replace them
- Workout Editing - Crop/trim workouts and edit activity names
- Statistics Dashboards - Weekly and yearly statistics with relative effort tracking
- Unit Preferences - Switch between metric and imperial units
- 100% Local - All data stays on your machine, no cloud sync required
- Frontend: Next.js 16, React 19, TypeScript, Tailwind CSS
- Backend: ASP.NET Core (.NET 9) Minimal APIs
- Database: PostgreSQL 16
- State Management: TanStack Query
Comprehensive documentation is available at https://trevordavies095.github.io/tempo/:
- Getting Started - Installation, quick start, and configuration guides
- User Guide - Importing workouts, viewing analytics, managing media, and settings
- Developer Documentation - Architecture, local development setup, API reference, and database schema
- Deployment - Production deployment, security best practices, and backup/restore procedures
- Troubleshooting - Common issues, solutions, and frequently asked questions
- Discord: Join our community on Discord for support and discussions
- Issues: Report bugs or request features on GitHub Issues
- Changelog: See CHANGELOG.md for version history and updates
MIT License - see LICENSE file for details


