Skip to content
bradmontgomeryPublic

About

A local app for your Garmin FIT files or strava data. No Socials. No signups. Everything's local.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

55 Commits

Folders and files

Repository files navigation

Streben

A locally-running web application for syncing, storing, and visualizing cycling activity data from Strava and Garmin FIT files.

Features

  • Strava Sync — OAuth integration to pull all activities and per-second stream data
  • FIT File Upload — Import activities directly from Garmin .fit files
  • Activity Dashboard — Paginated list of all activities with stream data indicators
  • Activity Detail — Summary stats and interactive Plotly charts of power, HR, cadence
  • Trends — Time-series charts (Apache ECharts) with metric toggles, time range selection, and trend lines
  • Nutrition & Energy Balance — Import Cronometer CSV exports and see daily calories in vs. kJ burned, with a cumulative surplus/deficit line
  • Dark/Light Mode — Theme toggle persisted in browser

Quick Start

Prerequisites

  • Python 3.11+
  • uv (fast Python package manager)

Setup

# Install dependencies
uv sync

# Start the web server
uv run uvicorn app.main:app --port 8000

The app will be accessible at http://localhost:8000. The SQLite database is auto-created on first startup.

Connect to Strava

  1. Create a Strava API application
  2. Go to Settings (/settings) and enter your Client ID and Client Secret
  3. Click "Connect to Strava" to complete the OAuth flow
  4. Use "Sync from Strava" on the dashboard to pull your activities

CLI

# Backfill missing stream data (preferred for large batches)
uv run strava-cli backfill-streams [--limit N]

# Import a Cronometer daily nutrition summary (re-importing a date overwrites it)
uv run strava-cli import-cronometer ~/Downloads/dailysummary.csv

Architecture

See ARCHITECTURE.md for full technical details including database schema, data flows, routes, and UI documentation.

Resources

About

A local app for your Garmin FIT files or strava data. No Socials. No signups. Everything's local.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages