Polar Flow

Best Self-hosted Alternatives to Polar Flow

A curated collection of the 8 best self hosted alternatives to Polar Flow.

Polar Flow is Polar's cloud platform and mobile/web app that collects fitness and biometric data from Polar devices, stores workouts, heart rate, sleep and activity, and provides dashboards, training plans and progress analysis.

Alternatives List

#1
Dawarich

Dawarich

Dawarich is a privacy-focused, self-hostable location history tracker and Google Timeline alternative with interactive maps, trips, stats, and data import/export.

Dawarich screenshot

Dawarich is a self-hostable web application for collecting and exploring your personal location history, built as an alternative to Google Timeline (Google Location History). It ingests location points from supported tracker apps and imported files, then turns them into an interactive, private timeline.

Key Features

  • Live location tracking via supported mobile and GPS apps (including OwnTracks, Overland, GPSLogger, Home Assistant, and others)
  • Interactive map visualization with multiple layers (heatmap, points, lines, and “fog of war”)
  • Trips creation with routes, distance, duration, and optional notes
  • Statistics and insights (countries/cities visited, distance traveled, time spent; monthly/yearly breakdowns)
  • Areas and visit suggestions to help identify places you frequent (visits feature marked as beta)
  • Family location sharing with per-user consent and controls
  • Imports from Google Maps Timeline/Takeout and common formats (GPX, GeoJSON) plus integrations for photo geodata
  • Export of your location history to GPX or GeoJSON

Use Cases

  • Replacing Google Timeline with a private, self-controlled location history
  • Building a personal travel journal with trips, stats, and map playback
  • Combining location points with geotagged photos to revisit memories on a map

Limitations and Considerations

  • The project is under active development and may introduce breaking changes between releases
  • Some features (such as visit detection) are explicitly beta and may be inaccurate

Dawarich is well suited for individuals and families who want long-term location history without handing data to third parties. With flexible import/export and rich map views, it provides a practical foundation for personal memory and travel analysis.

8.1kstars
251forks
#2
Garmin Grafana

Garmin Grafana

Dockerized Python service that fetches Garmin Connect health and activity data into InfluxDB for long-term trend visualization with Grafana dashboards.

Garmin Grafana is a Dockerized data pipeline that logs into Garmin Connect, fetches health and activity metrics from your Garmin account, and stores them in an InfluxDB database for visualization in Grafana. It is designed for long-term tracking and custom dashboards beyond what the Garmin app offers.

Key Features

  • Automated periodic syncing of Garmin Connect data into InfluxDB
  • Prebuilt Grafana dashboard provisioning for health and fitness trend visualization
  • Collects a wide range of metrics such as heart rate, steps, sleep (including SpO2 and HRV), stress, Body Battery, calories, and activity minutes
  • Workout and activity timeline support, including GPS/pace/altitude/HR for recorded activities
  • Historical backfilling (bulk fetching) to populate older data
  • Multi-user instance setup for multiple Garmin accounts
  • Data export options (for example CSV) to support external analysis

Use Cases

  • Build a personal long-term health and fitness dashboard using Grafana
  • Maintain a private local archive of Garmin health metrics and workouts
  • Analyze trends and correlations across sleep, stress, HRV, training load, and recovery over months/years

Limitations and Considerations

  • Depends on Garmin Connect access and may break if Garmin changes its APIs or login/2FA flows
  • Initial setup may require interactive authentication (including 2FA) to generate and store tokens

Garmin Grafana is a strong fit for Garmin device users who want ownership of their time-series health data and flexible Grafana visualizations, with automation for ongoing syncing and optional historical imports.

2.9kstars
181forks
#3
SparkyFitness

SparkyFitness

Open-source self-hosted fitness tracker for nutrition, exercise, water, and body metrics; includes AI nutrition chat, Docker deployment, web PWA and Android app.

SparkyFitness is a full-stack, open-source fitness tracking application for logging nutrition, workouts, water intake and body measurements. It provides a web PWA and an Android client, optional Garmin integration, and an AI-powered chat assistant (SparkyAI) for natural-language food logging and image-based meal recognition.

Key Features

  • Nutrition logging with custom foods, categories and interactive charts.
  • Exercise logging and a searchable exercise database.
  • Water intake and daily check-ins to track habits.
  • Body measurements tracking with progress charts and goal management.
  • AI Nutrition Coach (chat-based food logging, image uploads, chat history).
  • Web PWA, Android mobile app, optional Garmin microservice, and Docker-based deployment.

Use Cases

  • Individuals or families who want a self-hosted alternative to commercial fitness trackers.
  • Users who want AI-assisted food logging and image recognition for meal entries.
  • Developers and self-hosting enthusiasts deploying a full-stack app using Docker and PostgreSQL.

Limitations and Considerations

  • Several features are noted as beta/under heavy development (AI Chatbot, multi-user/family access, Apple Health sync); expect potential breaking changes and migration work during upgrades.
  • The project is intended for self-hosting and requires configuring environment variables, database migrations, and optional external API keys for food providers.

SparkyFitness is a comprehensive, privacy-focused option for users who prefer to self-host their fitness data, offering a modern React front end, Node/Express backend and PostgreSQL storage with Docker deployment support.

2.8kstars
122forks
#4
Statistics for Strava

Statistics for Strava

Self-hosted, open-source dashboard for Strava activities with charts, gear stats, heatmaps, and yearly recaps.

Statistics for Strava screenshot

Statistics for Strava is a self-hosted, open-source web dashboard for exploring your Strava activities and long-term fitness trends. It syncs your Strava data and presents it through rich views, charts, and summaries.

Key Features

  • Dashboard with stats and charts across your activities
  • Detailed activity list with per-activity insights
  • Monthly view with interactive calendar-style summaries
  • Gear usage statistics and maintenance tracking
  • Eddington number tracking for distance milestones
  • Segment and effort history analysis
  • Heatmap visualization of where you have been active
  • Yearly recap view (Strava Rewind)
  • Challenge tracking and activity photo archive
  • Optional AI workout assistant for suggested workouts and insights

Use Cases

  • Personal training analysis and long-term progress tracking beyond Strava’s built-in views
  • Tracking gear wear, usage, and maintenance intervals for bikes, shoes, and more
  • Reviewing yearly and monthly summaries to plan goals and training blocks

Statistics for Strava is well-suited for athletes who want full control over their training analytics and a private, customizable dashboard built around their Strava history.

1.6kstars
106forks
#5
Fitbit Fetch Script and InfluxDB Grafana Integration

Fitbit Fetch Script and InfluxDB Grafana Integration

Python service that pulls Fitbit health metrics via the Fitbit Web API, stores them in InfluxDB, and provides Grafana dashboards for long-term trend visualization.

A Python-based data collection service that retrieves personal health and activity metrics from the Fitbit Web API, writes them into a local InfluxDB time-series database, and visualizes the results in Grafana. It is designed for ongoing automatic syncing as well as historical backfilling to build long-term health trends.

Key Features

  • Automatic data collection from the Fitbit API with OAuth 2.0 token refresh
  • Stores metrics in InfluxDB for time-series analysis (best supported on InfluxDB 1.11)
  • Grafana dashboard support, including heatmaps and long-term trend panels
  • Collects a broad set of metrics such as heart rate (including intraday), steps, sleep, SpO2, HRV, breathing rate, activity minutes, and device battery
  • Historical backfilling mode designed to respect Fitbit rate limits and handle 429 responses
  • Docker Compose stack for running the fetcher, InfluxDB, and Grafana together

Use Cases

  • Personal health and fitness dashboard with long-term trends and daily summaries
  • Homelab time-series tracking of wearable metrics in InfluxDB with Grafana
  • Historical analysis by backfilling months/years of Fitbit data for reporting

Limitations and Considerations

  • Requires creating a Fitbit developer application and configuring OAuth tokens
  • InfluxDB 2.x support is described as limited and may produce a less detailed dashboard; InfluxDB 1.11 is strongly recommended
  • InfluxDB 3 OSS has query-time limitations that can make long-term visualization harder

It works well for users who want ownership of their Fitbit-derived metrics in their own database and prefer Grafana for visualization. The included schema and dashboards make it practical to deploy as a repeatable, automated pipeline.

828stars
66forks
#6
Wingfit

Wingfit

Privacy-first, self-hosted web app for planning workouts, logging sets, tracking personal records and importing smartwatch data. Built with Angular frontend and FastAPI backend.

Wingfit screenshot

Wingfit is a minimalist, privacy-first web application for planning workouts, logging sets/reps/weights and tracking personal records (PRs). It focuses on clear progress visualization and can ingest smartwatch data to augment logging.

Key Features

  • Structured workout planning and session templates for sets, reps and weights.
  • Persistent tracking of personal records and progress visualizations.
  • Ability to leverage/import smartwatch data to enrich workout logs.
  • Privacy-first design with no telemetry or tracking; data is stored on the host.
  • Simple deployment using Docker and a provided docker-compose configuration (volume-backed storage).
  • Optional configuration for external authentication (OIDC) and environment-based settings.

Use Cases

  • Individuals who want a lightweight, self-hosted tool to plan and log strength training sessions.
  • Athletes who want a private, local record of PRs and progress visualizations without cloud telemetry.
  • Users who collect smartwatch activity data and want to import it into a focused workout/PR tracker.

Limitations and Considerations

  • Wingfit is intentionally minimal: it focuses on workouts and PR tracking and does not provide built-in nutrition, social features, or a full gym management suite.
  • The primary storage option is SQLite by default; this is convenient for single-instance/self-hosted use but may not suit large multi-user deployments without migration to a different database.
  • There is no first-class mobile/watch app bundled; smartwatch data is leveraged/imported rather than relying on a native companion app.

Wingfit is distributed under a license that permits modification and sharing for non-commercial use. The project is open-source, actively maintained on GitHub, and provides a live demo and Docker images for quick evaluation and deployment.

461stars
18forks
#7
Exercise Diary

Exercise Diary

Web-based workout diary that visualizes activity as a GitHub-style year heatmap. Built in Go, configurable via file or env, Docker-ready with optional authentication and themes.

Exercise Diary is a lightweight web application for recording and visualizing workouts using a GitHub-style year heatmap. It provides a simple browser UI for entering sessions, viewing yearly activity, and browsing workout entries.

Key Features

  • GitHub-style year heatmap visualization for quick activity overview
  • Web-based GUI with configurable themes (Bootswatch-based) and light/dark color modes
  • Built in Go with a single data directory for storage and settings configurable via config file or environment variables
  • Docker image and docker-compose-friendly packaging for easy deployment
  • Optional session-cookie authentication with bcrypt-hashed password support and configurable session expiry
  • Charts for session details powered by client-side charting libraries; pagination and timezone configuration
  • Option to run with local assets to avoid external network dependencies

Use Cases

  • Personal workout logging and long-term activity tracking with a compact visual overview
  • Quick review of training frequency over weeks, months, and full years for athletes or hobbyists
  • Local, private deployment for individuals or small groups who want a simple self-hosted tracker

Limitations and Considerations

  • Designed primarily for single-user or small-scale personal use; not intended as a multi-tenant or high-scale service
  • Stores data in the local data directory and relies on file-based storage, which may limit advanced querying or scaling
  • By default it fetches themes and fonts from the web unless configured to use local assets

Exercise Diary is focused on simple, private workout tracking with an emphasis on visualizing activity over time. It is lightweight to deploy and configurable for local-only environments or small personal servers.

438stars
16forks
#8
Workout Challenge

Workout Challenge

Host group fitness competitions with manual or Strava-imported workouts, customizable goals, leaderboards, streaks and scheduled email reports.

Workout Challenge is a web application for running private group fitness competitions. Participants add workouts manually or link their Strava account for automatic imports, then compete using customizable metrics, periods and point rules while tracking leaderboards and personal progress.

Key Features

  • Create and join competitions via invitation links with configurable goals (time, distance, calories, count)
  • Multiple goal periods: per day, week, month or whole competition; configurable min/max per workout/day/week
  • Manual workout entry and automatic Strava import with scheduled daily syncs handled by background workers
  • Personal dashboard with stats, streaks and progress; competition dashboards with friends' activities and leaderboards
  • Weekly automated emails (leaderboard and optional personal progress reports)
  • Responsive UI with light/dark modes; Docker support and a production-ready docker-compose setup

Use Cases

  • Run a workplace or friend group steps/minutes/distance challenge with per-user tracking and leaderboards
  • Aggregate workouts from Strava for teams and present weekly leaderboard reports via email
  • Host multi-goal competitions (e.g., distance + minutes) with caps to encourage consistent, healthy activity

Limitations and Considerations

  • Automatic imports rely on Strava OAuth and are subject to Strava API rate limits; administrators must register API credentials
  • Background processing requires a task broker and worker setup (Celery) and optional Redis for caching in production
  • Email notifications require a configured SMTP provider to send scheduled reports
  • No official native mobile apps; site is responsive but mobile experience depends on browser

Workout Challenge is focused on privacy-respecting, configurable group competitions and is packaged for containerized deployment. It is suitable for small teams or communities wanting a lightweight, self-hosted fitness challenge platform.

141stars
7forks

Why choose an open source alternative?

  • Data ownership: Keep your data on your own servers
  • No vendor lock-in: Freedom to switch or modify at any time
  • Cost savings: Reduce or eliminate subscription fees
  • Transparency: Audit the code and know exactly what's running