Skip to main content

Open source · Self-hosted · Apache 2.0

Mirror your body in data.

One standard, every source, one complete picture of you — building a lasting record to understand where your health is going. Run the open-source edition with Docker, using a cloud model or models on your own machine.

Asking how cholesterol has changed: the agent finds three files that name the test differently, charts one trend and names the file behind every number

Three reports, three names for the same test. One trend, with the file behind every number.

What is Mirobody?

Mirobody brings reports, device data, photos and genetic files into one record, puts recognized names and units into a shared language so the record can be compared over time, and lets you ask questions with references to the original sources. Standardize enough of your data, for long enough, and you have a complete, continuous account of one body: your Mirobody. This open-source edition does it on your own infrastructure under the Apache 2.0 license. Built by Theta Health, it is the health data engine behind Theta. The name is short for Mirror Your Body in Data: one standard for every source, so a person’s numbers accumulate into a single comparable record instead of a dozen incompatible exports.
Collect reports, device data and genetics; standardize names and units so every source lands in one table; the agent answers with tools that query it and traces each number to its sourceCollect reports, device data and genetics; standardize names and units so every source lands in one table; the agent answers with tools that query it and traces each number to its source

Collect, standardize, and ask: the three stages from a source file to a traceable answer.

Getting started

Run it with Docker

Start the web app and demo records with ./deploy.sh, then choose a cloud or local model. Your records stay in your own Postgres database.

Try the walkthrough

Upload, standardize, ask across reports, share with family, write a journal entry.

Keep every model on your machine

Run models locally with llama.cpp. Check hardware requirements and setup instructions for your platform.

Connect your own agent

Query your records from Claude Code, Codex, Cursor or Gemini CLI through MCP.

Resolve names in Python

pip install mirobody: names to LOINC and units to UCUM, offline, with no key.

Deploy on a server

Production settings, secrets, HTTPS, upgrades and backups.

Use it without running anything

Try Mirobody in Theta Web, or in the Theta mobile app, to keep your own records without deploying anything. You can also try the live demo with synthetic records; no account is required. Find source code, releases and support on GitHub.