All projects

shipped / case study

Kata

A private fitness coach that turns Apple Health data into practical daily training guidance.

Status
shipped
Surface
Private
Latest proof
2026-06-02

Why this project matters

Turns training intent into a visible daily coaching loop instead of another dormant plan.

Private coaching notes backed by my own training history and local model calls.

Field notes / Kata

What it is

Kata is a private AI fitness coach. It ingests Apple Health data through Health Auto Export, stores workouts and recovery signals in SQLite, and asks a local model for a short daily coaching note that reflects the last few weeks of training instead of a single workout.

The private surface is intentionally narrow: a single-user dashboard, a coaching note, and enough recent metrics to make the advice auditable. The real value is continuity — the coach remembers what it told me yesterday and can compare that plan against what actually happened.

Why I built it

Most fitness apps either show dashboards without telling me what to do, or offer closed coaching plans that do not own my local history. Kata sits in the middle: self-hosted data, local model calls, and a coach that can say "move the hard session" when sleep and recovery make that the better choice.

What I learned

  • State changes the prompt. A coaching note is only useful when it can see prior advice, recent workouts, and recovery together.
  • Apple Health needs a phone-side push. HealthKit does not let a server pull this data directly, so Health Auto Export became the practical bridge.
  • Small dashboards beat fake chat. For v1, a daily note plus the context table is more honest than a chat box without enough longitudinal memory.

Status & next steps

Kata v1 is running as a me-only service. The ingestion, storage, model call, and dashboard loop all round-trip, but it is not exposed on jhinx.dev. The long-term usefulness still depends on the phone export and a normal-week soak. The next real milestone is proving I actually read and act on the notes before building chat or multi-week plans.