A high-performance, local-first analytics dashboard for your Garmin FIT files, built with Rust and DuckDB.
If you are a runner, cyclist, or data-driven athlete, you probably rely on cloud platforms like Garmin Connect or Strava to track your progress. While these platforms offer great social features, they also mean your personal health and telemetry data is locked up in a third-party ecosystem. What if you want rapid offline access, custom analytics, or simply total privacy and control over your own workouts in a modern, sleek, interactive desktop app dashboard that works on your PC, regardless if it’s Windows, MacOS or Linux?
Enter FIT Dashboard — an open-source, lightning-fast activity analytics dashboard designed specifically for Garmin Activity .fit files. Available as a standalone desktop application or a self-hosted Docker web app, FIT Dashboard is built for performance and data ownership. Take a look at the interface here.
Why FIT Dashboard?
The core philosophy behind FIT Dashboard is simple: your data should be yours, and exploring it should be blazing fast. You should be able to see overview stats, individual exercies, and compare one activity with another. Here is what sets it apart from traditional cloud-based trackers:
1. High-Performance Analytics with DuckDB
Handling hundreds of activities with millions of data points (heart rate, cadence, power, GPS coordinates) can bring traditional databases to a crawl. FIT Dashboard leverages DuckDB, an embedded analytical database, to perform rapid aggregations and automatic down-sampling for time-series queries. The result? Instantaneous chart loading and filtering, no matter how many marathons you’ve logged.
2. Deep Interactive Visualizations
The dashboard doesn’t just show you static numbers. It features interactive telemetry charts powered by ECharts, visualizing speed, heart rate, cadence, altitude, power, and temperature. You can zoom and pan seamlessly. Alongside the charts is a dynamic Activity Map built on MapLibre GL. Your route path changes color dynamically based on the metric you are analyzing (e.g., turning red when your heart rate spikes), and hover tool-tips provide exact telemetry details at every GPS coordinate.
3. Total Privacy & Flexible Deployment
Because it parses FIT files natively using Rust, your data never leaves your machine unless you want it to.
Desktop App: Built with Tauri v2, you can run it natively on Windows, macOS, or Linux.
Self-Hosted: Prefer a web-based approach? You can deploy it on your home server using the pre-built Docker image. It even includes session-based authentication and password protection out of the box.
4. Seamless Data Portability
Data lock-in goes both ways. FIT Dashboard makes it incredibly easy to bulk export your filtered activities. Need to move your data elsewhere? You can export single or batch workouts to CSV, JSON, GPX, or KML formats with a single click.
Under the Hood: A Modern Tech Stack
For the developers and tech enthusiasts, FIT Dashboard is a masterclass in modern, performant app architecture:
Backend (Rust): Powers the robust data processing. It uses the native fitparser crate for extraction without relying on external tools. Depending on how you run it, it utilizes either the Tauri framework for desktop or Axum for the REST API Docker deployment.
Database: DuckDB handles the heavy lifting of analytical queries and time-series downsampling.
Frontend (React 18 & TypeScript): Kept lightweight and snappy using Vite and Zustand for state management.
UI/UX: A beautiful glassmorphism design with instantaneous Dark/Light theme toggling, all built on clean CSS variables.
How to Get Started
Getting your data into FIT Dashboard is straightforward. First, you can request a bulk export of your data directly from Garmin’s data management portal (which will give you a ZIP file of all your historical .fit files).
From there:
Download the Desktop App: Head over to the Releases page on GitHub and grab the binary for your OS (Windows .msi/.exe, macOS .dmg, or Linux .AppImage/.deb).
Or Deploy via Docker: Run docker compose up -d using the provided configuration to spin it up on your local network.
Import: Drag and drop your Garmin .fit files into the import queue. The app will sequence the processing and automatically detect duplicates.
Final Thoughts
We are living in an era where we generate gigabytes of personal health and fitness telemetry. Relying solely on cloud providers to store and visualize this data leaves us vulnerable to platform changes, paywalls, or internet outages.
FIT Dashboard is a brilliant open-source solution that proves you don’t need to sacrifice beautiful UI or performance to own your data.
Ready to take control of your fitness data? Check out the project, download a release, and consider giving it a star on GitHub: Fit Dashboard Github.