Analytics that flow with the question.
An in-memory associative engine, a studio for building dashboards, and an AI analyst whose numbers come from the engine. Click any value — everything else answers, from extracts you own, never from your production database. Runs on one machine you own.
Pick a country or a channel.
How it works
From data to answer, in three steps.
- 01
Load
A load script pulls files, SQL and APIs once and keeps them as extracts of your own; tables meet on the fields they share. Your database is asked once, not on every click.
- 02
Explore
Click a value anywhere. Every chart, list and table narrows to what is still possible.
- 03
Ask
Omni reads the same model, builds charts and selections, and marks any figure it did not compute.
The engine
A selection is a question.
Pick a value and the engine sorts every other value in the model: selected, still possible, excluded. Nothing is thrown away — the excluded stay in view, greyed, and one click brings them back. The answers come from an in-memory engine written in Rust, over your own extracts — not from the browser, and not from a query against your production database.
Omni · the analyst
An analyst that shows its work.
Omni works through the engine — it inspects the model, builds charts and selections, writes load scripts and publishes report pages. A figure it did not compute is marked as such, and every write waits for your approval. The same tools run as an MCP server for agents of your own.
Self-hosted
Your data stays home.
One machine, one docker compose up, automatic HTTPS at the door — and the extracts on your own disk. Row-level security
lives in the engine session, so a reader sees only the rows their policy allows. Sign in with a password
or your OpenID provider.
$ deploy/compose/gen-secrets.sh generated 6 secrets · names only $ docker compose up -d ✓ engine ✓ gateway ✓ control-plane ✓ studio ✓ caddy · certificate obtained
Made for every question.
From the first load script to the report your team opens every morning.
Begin with one click.
Open the demo, pick a value, and watch the rest of the sheet answer.
Open the live demo