Medora turns messy health information — glucose notes, CGM-style reports, lab snippets, medication text, symptoms, visit context — into a longitudinal, structured, source-grounded health record with timeline events, safety-reviewed doctor-prep summaries, and an auditable AI workflow history.
Most "AI health" tools render a model response straight into a UI. Medora inverts that: the longitudinal health record and the workflow layer are the product. The model is a replaceable provider behind a boundary, its output validated, safety-checked, and grounded back to its source before it becomes part of your history.
Starting with glucose, diabetes, and metabolic health — with an architecture deliberately broad enough to grow.
Glucose notes, CGM-style reports, lab snippets and medication text are parsed into typed entities and Zod-validated before persistence.
Readings, metrics, meds, symptoms and visits become durable timeline events you can trace across months — not a disposable thread.
Insights cite the exact source reference they were derived from, so nothing is a free-floating model assertion.
Safety-reviewed visit summaries that organize what to bring up — explicitly not diagnosis, triage, or dosing.
A rule-based guard blocks prohibited output classes; blocked outputs are logged and inspectable, with a safety-regression suite.
A deterministic mock provider for local dev; OpenAI behind the same LLMProvider boundary, enabled by env only.
Medora is a local-first private-alpha MVP for a small, closely monitored test group. It is honest about what it is not.
Next.js + a Prisma-backed model spanning profiles, documents, extractions, metrics, glucose readings, medications, symptoms, timeline events, insights, doctor summaries, source references, safety reviews, feedback, and agent runs.
13+ Prisma entities make the record — not a model response — the system of record.
WorkflowRunner → AIWorkflow → LLMProvider → Zod → SafetyGuard → persistence, each stage independently testable.
ARCHITECTURE, DATA_MODEL, MEDICAL_SAFETY, STATE_MACHINES and an MVP scope — the design is written down, not implied.