Repository navigation
Releases: Ashikaga1974/WattLoom
Release list
v1.3.1
v1.3.0
- Demo mode: explore WattLoom with generated sample data, no Strava export needed (toggle in settings)
- Re-importing a Strava ZIP no longer duplicates the track data of activities that were already imported
- Refreshed brand/accent color
v1.2.0
- "What changed?" on the progress tab: compares the last 30/90/365 days with the same days last year or the days before (volume, speed, HR, efficiency, fitness, best efforts) and highlights notable changes
- Monthly overview: 12-month average line, year markers and best month; empty months now count as 0 km, bogus pre-2000 dates are skipped
- Estimated power and HR-based training load are labelled as such
- Fitness score shows the change vs. last year instead of level labels; the trend states its 3-month period
- Faster zone distribution (cached like best efforts and heatmap)
- Docker binds to localhost by default. If you access WattLoom from other devices in your LAN, start it with
WATTLOOM_BIND=0.0.0.0 docker compose up --build
v1.0.0 – First public release
What is WattLoom?
WattLoom turns your Strava export into a complete local cycling analytics platform —
training load, fitness, power estimation, personal records, weather correlation, route
comparison, and bike maintenance tracking. No Strava API, no cloud, no account.
Why local?
Your Strava export ZIP is parsed once, locally, into a SQLite database on your own machine.
There's no live sync, no third-party server involved, and no ongoing dependency on the
Strava API (which now requires a paid developer subscription for API access — one of the
reasons WattLoom exists).
🔓 Now fully open source
As of this release, WattLoom is licensed under AGPL-3.0 — a genuine OSI-approved
open-source license, replacing the previous proprietary/trial license. Redistribution and
modification are permitted; if you make a modified version available to others (including
as a hosted service), you must also make the source of your changes available under
AGPL-3.0. See LICENSE.
Main features
- Dashboard — training-form widget (TSB/CTL/ATL), yearly/weekly goals, wear warnings,
new-PR alerts, animated KPIs - Fitness Fingerprint — overall score 0–100 from CTL, aerobic efficiency, form, and
consistency, with a level system (beginner → elite) - Activity detail — map, elevation/speed/HR profiles, weather tile, physics-based power
estimate (no power meter required) - Bike management — component wear tracking with maintenance thresholds, purchase/stock
inventory, per-bike cost analysis - Best efforts — Strava-style best-effort segments (5–70 km) across your entire ride
history - Weather & performance, route comparison, heatmap, training distribution
(polarized training check), cadence analysis, calendar, and more — see the full
feature list in the README
Installation
Two supported paths:
- Docker (recommended, easiest):
docker compose up --build— see
README → Docker - Manual (Python + Node): see README → Installation & Start
A Windows desktop build (PyInstaller) is in progress but not yet part of this release — see
Known limitations below.
Supported imports
- Full Strava ZIP export (
activities.csv+ FIT/TCX/GPX track files) - Single-file import:
.fit(Garmin, Amazfit/Zepp),.tcx,.gpx— useful for syncing
activities from smartwatches without a Strava account at all
Known limitations
- No authentication. WattLoom is a single-user, single-instance application by design —
do not expose it to the open internet. Run it locally or on your own LAN/VPN. See
README → Security note. - Windows installer: not part of this release yet. Docker is the recommended path for
Windows users in the meantime. - Single SQLite database, single writer — not designed for concurrent multi-user access.
Screenshots
(See the README for the full feature walkthrough and demo GIF.)
