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 — listed in the official MCP registry. 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

FAQ

Frequently asked questions

What is Kaiord?

Kaiord is an open-source, local-first training platform: a weekly training calendar, a visual workout editor, an AI assistant that acts on your data, Garmin and WHOOP sync, and health and lab analytics. It also ships a TypeScript SDK, a CLI, and an MCP server for the FIT, TCX, ZWO, and Garmin Connect workout formats.

Is Kaiord free?

Yes. The editor is free to use, requires no account, and the entire platform is MIT-licensed open source.

Where is my training data stored?

Locally, in your browser's IndexedDB. Nothing leaves your device unless you enable sync with your own Google Drive.

Which fitness file formats does Kaiord support?

FIT, TCX, ZWO, and Garmin Connect (GCN), plus KRD — Kaiord's canonical JSON format that every conversion goes through. Conversions are round-trip safe.

Does Kaiord sync with Garmin and WHOOP?

Yes. Browser extensions bridge Garmin Connect, WHOOP, and Train2Go using your own logged-in sessions — no third-party server sits in the middle.

Can AI assistants work with Kaiord?

Yes. The editor has a built-in AI assistant that edits and plans workouts, and the @kaiord/mcp package — published in the official MCP registry — exposes the same tools to any MCP-compatible assistant, such as Claude or ChatGPT.