Skip to main content
Open-source training platform

Your training cockpit.
Every fitness format.

Whether you train or you build — pick your path.

For athletes

Train with Kaiord

Plan your week on a calendar, talk to an assistant that acts, sync Garmin & WHOOP. No code, no account, no cloud.

Open the Editor
For developers

Build with the SDK

Convert between FIT, TCX, ZWO & Garmin in 4 lines of TypeScript. Strategy pattern, your adapters.

convert.ts
import { fromBinary, fitReader } from '@kaiord/fit'
import { toText, tcxWriter } from '@kaiord/tcx'

const krd = await fromBinary(file, fitReader)
const tcx = await toText(krd, tcxWriter)
npm i @kaiord/core
Read the Docs

For athletes

Your week is the cockpit.

Every session shows its whole story — planned by your coach, adjusted by AI, pushed to your watch, matched against what you actually did.

Visual workout editor

Drag-and-drop steps, intervals, and targets into structured sessions. Real-time validation and stats.

Session lifecycle at a glance

Badges trace each workout from plan to execution — coach origin, AI adjustments, on your watch, done and matched.

Library & templates

Save any session as a template, schedule it from the library, and reuse it all season.

Conversational-first

Don't fill forms. Just say it.

The assistant doesn't just answer — it acts on your data.

Natural-language workouts

Describe a session in plain language — Kaiord builds it around your power, HR, and pace zones with Claude, GPT, or Gemini.

Actions, not just answers

Push workouts to your watch, pull activities, reshuffle your week — straight from the conversation.

Your model, your key

Bring your own API key. Conversations stay per-profile in your browser — and they're searchable.

Health hub

From sleep score to blood work.

Recovery, sleep, HRV, weight and activity flow in automatically from WHOOP and Garmin — every data point wears its source. And your lab reports live here too.

Automatic ingestion

WHOOP recovery and sleep, Garmin activity, manual entry — merged with a source badge on every data point.

Trends

Time-series charts for every health metric — sleep, weight, HRV, recovery, activity.

Lab analytics

Log blood panels — 55+ parameters with reference ranges, out-of-range flags, and evolution charts.

Nutrition & energy balance

Track intake against expenditure and see your daily energy balance.

The data hub

You decide where your data flows.

A routing matrix connects every source to every destination — Garmin, WHOOP, Train2Go, manual entry. Pick priorities per data type and see exactly what synced, when, and from where.

One-tap Garmin sync

Push planned workouts straight to your watch, and pull completed activities back — no server in between.

Bridges, not middlemen

Garmin, WHOOP and Train2Go connect through browser extensions using your own session — no OAuth proxy in the middle.

Source priorities

Several sources for the same data type? Set the order once — routing is enforced, with visible sync status.

The hub model

One hub. Every format.

KRD is the canonical format. Every conversion flows through it — lossless and round-trip safe.

For developers

Convert fitness data in 4 lines.

Strategy pattern — bring your own adapters. Type-safe end to end.

npm i @kaiord/core
convert.ts
import { fromBinary, fitReader } from '@kaiord/fit'
import { toText, tcxWriter } from '@kaiord/tcx'

const krd = await fromBinary(file, fitReader)
const tcx = await toText(krd, tcxWriter)
TS

TypeScript-first

Strict types, Zod schemas, full IntelliSense. No any.

Hexagonal architecture

Clean boundaries. Domain never depends on infrastructure.

Plugin system

Strategy pattern: inject your own readers and writers.

>_

CLI

Convert files from your terminal. Pipe-friendly.

AI

MCP server

Convert, validate & inspect via Model Context Protocol — Claude, Cursor & more.

5

5 format adapters

FIT, TCX, ZWO, GCN, KRD. All round-trip safe.

Zero infrastructure

No servers. No accounts. No cloud.

Everything runs locally or in-browser. Your data lives in IndexedDB on your device; integrations run through browser extensions using your own sessions; the CLI and MCP server run on your machine. Nothing leaves your device unless you turn on sync with your own Google Drive.

CLI Editor (PWA) MCP 3 browser extensions
Every line — domain, adapters, editor, this page — written by AI agents. See the commits →

Open source

Built in the open.

MIT licensed. Contributions welcome.

5
Format adapters
3
Browser bridges
MIT
Licensed
0
Backend services
Star on GitHub