Projects

shipped / case study

Kata

A self-hosted AI fitness coach that turns Apple Health exports into daily training guidance and a small adaptive coaching surface.

Statusshipped
SurfacePrivate
Updated2026-06-02
OutcomeTurns training intent into a visible daily coaching loop instead of another dormant plan.

Stack and decisions

FastAPI

Part of Kata's current operating boundary.

SQLite

Part of Kata's current operating boundary.

LM Studio

Part of Kata's current operating boundary.

Health Auto Export

Part of Kata's current operating boundary.

Timeline

Started 2026-05-14

Updated 2026-06-02

Surface Private

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

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.