open source · Apache-2.0

Every watt.
Every kilometre.
Yours.

An open-source training log for cyclists. Self-host it in five minutes, track progression for a lifetime, and keep your data yours.

week 14 · Load
612/ 720 target
actual weekly target
01 / POWER

Power curves, normalized.

Mean-maximal power across any date range, season overlays included.

02 / FORM

Fitness, fatigue, form.

The Banister model on your real training history — not an estimate.

03 / IMPORT

Bring your history.

FIT file upload, Strava and Wahoo integrations — all supported.

Compatible with Strava Wahoo
04 / PRIVACY

Zero telemetry.

No analytics, no third-party SDKs. Your rides stay on your server. Privacy policy →

05 / EXPORT

Portable by design.

SQLite under the hood. Export your raw FIT files and profile data as JSON — anytime.

06 / CLASSIFICATION

Know what you trained.

Every ride is automatically classified — Recovery, Endurance, Tempo, Threshold, VO2 Max, Anaerobic, or Sprint — using Coggan's power model. Override with one click.

07 / WORKOUTS

Build structured sessions.

Design interval workouts with per-step power, HR, or cadence targets — zone numbers, % FTP, or absolute watts. Export to Zwift (.zwo) or as FIT workout files for Wahoo ELEMNT and Garmin bike computers.

hosted in the EU · app.koutsi.dev

Don't want to self-host?
Use our EU instance.

We run a public instance at app.koutsi.dev — the same open-source openkoutsi, hosted and kept up to date for you. No server to rent, no Docker, no maintenance.

It runs on a single UpCloud server in Helsinki, Finland: an EU-owned provider, on EU soil, under EU and Finnish law. Your training data stays inside GDPR's protections and out of reach of the US CLOUD Act. Storage is encrypted at rest and backed up daily, and — as everywhere in openkoutsi — each user gets a private database that no one else, not even an administrator, can read.

Access is by invitation, or by self-serve email sign-up where an instance enables it.

Data residency
app.koutsi.dev
Location
Helsinki, Finland
Provider
UpCloud · EU-owned
Jurisdiction
EU · Finnish law
Regulation
GDPR
US CLOUD Act
Not applicable
Storage
Encrypted · daily backups

Prefer full control? Export your data and self-host anytime — no lock-in.

Your server.
Your rules.

Run openkoutsi anywhere — a Pi in your closet, a €4 VPS, or your home NAS. Docker compose for one-command setup, or build from source. No sign-ups, no lock-in.

Core training features are free forever. AI coaching runs on your own model, or — on shared instances — a subscription the host can offer.

docker sqlite arm64 / amd64 Apache-2.0
~/openkoutsi
# clone & run
git clone https://github.com/openkoutsi/openkoutsi
docker compose up -d

# open
http://localhost:8080