Praxis
A physical therapy and strength coach that reasons from your specific presentation and the published literature, then adapts to what you report.

Every exercise traces back to its reasoning, with safety rules the model cannot override.
- Role
- Product design, AI-assisted development
- Stack
- TypeScript, Next.js, React, SQLite, Gemini API
- Scale
- About 28,000 lines, 74-exercise library
Templates can’t respond to tissue
Most training apps build a plan from a template and a body-part dropdown. The variables that matter clinically, like how irritable the tissue is, what provokes symptoms and whether pain settles overnight, never enter the model, so the plan can't respond to them.
This started as my own PT tracker in April 2026, grew into a two-agent coach called Kinetic, and became Praxis.
A prescription should be traceable
The core idea is that a prescription should be traceable. Four agents split the work: a clinician formulates, a researcher runs grounded literature searches, an architect designs phases and dosage, and an independent auditor can send the programme back.
Rationales cite retrieved evidence by key, and a key with no real source renders unlinked, so a fabricated citation stays visible.
Safety logic stays out of the model
Safety logic is ordinary, tested code, because a model that talks itself past a pain ceiling is a real failure mode. Red flag screening, the three-part pain rule, dosage math and validated outcome measures all run deterministically.
The app runs on Next.js with Node's built-in SQLite, so your data stays on your machine except for the intake summary sent to the model during generation.
A plan that adapts and explains itself
Praxis turns a detailed intake into a phased programme with dosage, rationale, progression and pain rules for every exercise. After each session it shows exactly what changed and why, using your own numbers.
Progress is judged against published minimal clinically important differences, and the adaptation agent can only decide how to act on a safety verdict, never whether to.
Built with AI-assisted development. I directed the product, its clinical rules and its testing, and worked with AI coding tools to write it.
Rep target met at the intended effort. A small load increase keeps the stimulus progressive.
The real progression rule from the app. Try pushing pain past 5/10 with every rep hit.


