Beyond Strava: Why This Free Open-Source Tracker Became My Go-To for Mountain Biking (Not There For Equestrians Yet)
As an avid mountain biker and occasional trail runner, I've always struggled with activity tracking apps. They either came with hefty subscription fees or bombarded me with premium features I'd never use. That's when I stumbled upon FitTrackee - a free, open-source activity tracker that completely changed how I log my outdoor adventures.
What is FitTrackee?
FitTrackee is a straightforward, privacy-conscious tool that allows you to enjoy your outdoor adventures without worrying about costs or data privacy. Whether you're trail riding, mountain biking, or planning the next big route, FitTrackee ensures your activities are tracked and stored with ease.
What drew me to FitTrackee wasn't just that it's free. After three months of using it on my weekly mountain biking trips, I've found it handles everything I need without the bloat of commercial apps.
The GPS tracking is spot-on, even on remote trails where my phone barely gets a signal. Last weekend, it accurately mapped my entire 20-mile ride through the backcountry, including those tricky elevation changes that other apps often miss.
The app's offline capability has been a game-changer for my longer rides. I can record my entire route without worrying about cell service, and everything syncs perfectly once I'm back in range. Plus, knowing my data stays private (and isn't being sold to advertisers) gives me peace of mind.
What I really appreciate is how straightforward everything is. I can quickly check my speed, distance, and elevation gain without digging through menus. The interface is clean and focused on what matters - tracking your activity. I've even started using it to plan new routes by looking at my previous rides.
For those curious about trying FitTrackee, it handles all the basics:
- Tracks multiple activities (biking, running, hiking)
- Maps your GPS routes
- Records key metrics (speed, distance, elevation)
- Works offline
- Lets you export your data
- Keeps your information private
The best part? Being open-source means it's constantly improving thanks to fellow outdoor enthusiasts who contribute to its development.
Supported Workouts
FitTrackee supports a long list of outdoor activities, and sports that include:
Cycling Activities
- Cycling (Sport)
- Cycling (Transport)
- Cycling (Trekking) (new in 0.7.27)
- Cycling (Virtual) (new in 0.7.3)
Mountain & Outdoor Sports
- Mountain Biking
- Mountain Biking (Electric) (new in 0.5.0)
- Hiking
- Mountaineering (new in 0.7.9)
- Trail (new in 0.5.0)
- Walking
- Snowshoes (new in 0.5.2)
Water and Air Activities
- Open Water Swimming (new in 0.7.20)
- Swimrun (new in 0.8.7)
- Paragliding (new in 0.7.19)
- Rowing (new in 0.5.0)
Running and Skiing
- Running
- Skiing (Alpine) (new in 0.5.0)
- Skiing (Cross Country) (new in 0.5.0)
FitTrackee Features
- Multi-Activity Tracking: Supports diverse outdoor activities, including cycling, running, hiking, and custom activities.
- GPS Route Mapping: Track and save GPS routes, helping you map your favorite trails and keep precise records.
- Performance Metrics: Records distance, duration, speed, and elevation gain to help you evaluate and improve your performance.
- Offline Capabilities: Allows you to view and record activities without needing constant internet access—a perfect fit for remote trails.
- Personal Data Ownership: As an open-source tool, FitTrackee doesn’t harvest your data or share it with third parties, giving you complete control.
- Customizable Interface: Personalize settings to track metrics that matter most to your style and type of activity.
- Data Export and Import: Easily export your data for personal records or import existing data from other tracking apps.
- Community-Powered and Free: Free to use and improve upon, with support from the GitHub community for new updates and feature enhancements.
The Missing Feature
As a quick heads up to my fellow equestrians - while FitTrackee is amazing for most outdoor activities, it doesn't have a built-in horse riding option yet. I've been using a custom activity type to track my trail rides, which works pretty well as a workaround.
It gets the job done for tracking routes and distances, though it lacks some horse-specific metrics we might want.
The good news? FitTrackee has a super active community on GitHub. If you're tech-savvy (or know someone who is), you could help shape the future of the app by suggesting or even building equestrian features. I've already seen several riders in the community expressing interest in proper horseback riding support, so it's definitely on the radar!
For now, don't let the lack of a dedicated horse riding option stop you from giving it a try - the custom activity feature is a solid temporary solution while we wait for full equestrian support.
Tech Stack
As a developer who geeks out over clean code and efficient systems, I got pretty excited when I dove into FitTrackee's architecture. Let me break down what makes this app tick, and why these tech choices matter for users like us.
The Backend Brain (Python & Flask) FitTrackee's backend is like a well-oiled machine, built with Python and Flask. Think of Flask as the traffic controller - it handles all our requests (like saving a new ride or loading your stats) without breaking a sweat. What impresses me most is how they've pieced together some clever tools:
gpxpy
handles all our GPS data - every twist and turn of your trailstaticmap
creates those neat route snapshots we see in our activity feeddramatiq
works behind the scenes, processing our data without making us waitAuthlib
keeps our accounts secure with solid OAuth 2.0Flask-Limiter
makes sure everyone plays nice with the APIgunicorn
keeps everything running smoothly when the server gets busy
The User Interface (TypeScript & Vue 3) The frontend is where FitTrackee really shines for users. Built with Vue 3 and TypeScript, it's snappy and reliable. My favorite parts are:
- Vue 3 with Vuex handling all our interactions seamlessly
- Leaflet showing our routes on beautiful, interactive maps
- Chart.js turning our ride data into those satisfying performance graphs
The Extra Polish They've even thought about the little things, using Freepik and Fork Awesome icons to make everything look clean and professional.
What Makes This Stack Special? What I love about this setup is how it balances performance with user experience. The Python backend handles all the heavy lifting (like processing those long rides with thousands of GPS points), while the Vue frontend keeps everything feeling smooth and responsive.
For fellow devs interested in contributing or learning from this project, it's a great example of how to build a modern, open-source fitness app that can scale without getting bogged down by complexity.
Installation
Make sure that you have Docker and Docker Compose installed:
1- Grab the app
git clone https://github.com/SamR1/FitTrackee.git
cd FitTrackee
2- Configure it
cp .env.example .env
3- Create Docker Volumes
docker volume create fittrackee-db-data
docker volume create fittrackee-uploads
4- Run the app
docker-compose up -d
5- Check the app here http://localhost:5000
6- To stop the app run
docker-compose down
7- Upgrade the app
git pull origin main
docker-compose down
docker-compose up --build -d
License
AGPL-3.0