A different kind of tool
Not a dashboard. Not a chatbot. Something that looks for you, and can prove it.
| The question | Traditional BI | AI analytics | Othor AI |
|---|---|---|---|
| Who decides what to look at | You, by building a chart | You, by asking a question | Nobody has to: every metric and breakdown is tested every night |
| Who produces the numbers | Your queries | Often a model, writing SQL or the answer itself | Code only. A model never computes a figure |
| Ask twice, get | The same chart | Possibly a different answer | The same numbers, byte for byte, from a replay |
| How sure is it? | Not stated | Rarely stated | Graded on every finding, after false-discovery control |
| Where a number came from | In the dashboard’s definition, if you look | Usually not shown | Definition, SQL, test, parameters, spec version and run, one click away |
| When the AI provider is down | Not affected | Stops | The night runs; only the wording falls back to templates |
The night
Every night, the same pipeline.No model inside it.
- 01ReadRead-only logins · only what changed
- 02MaterialiseColumnar files on the data volume
- 03ComputeEvery confirmed metric, by SQL
- 04Test11 detectors · forecasts · checks for chance
- 05LedgerAppend-only · replayable
- 06BriefRanked, graded, by 06:00
Built lean
Two things stay small: your AI bill and your time.
A model drafts once, while you set up. Code does the rest, every night, with no model at all. And Othor AI asks as little of you as it can: a few steps to start, then a short read and a few taps each morning.
AI bill
Indigo Thread Co., our sample company
- Read the documents you uploaded
- 3 calls
- Draft how your business works
- 1 call
- Describe the tables it found
- 4 calls
- Draft your metrics
- 1 call
- AI in the nightly run
- None
To set up, once
$0.61Each morning, per brief
1¢Optional: smoother sentences, numbers unchanged9 calls, measured 10 Nov 2026 from the calls Othor AI logs, at the model’s list price of $4 and $20 per million tokens in and out.
Human effort
Indigo Thread Co., our sample company
- Steps to set up
- 5
- Metrics drafted for you to confirm
- 29
- Morning Brief
- 150 words
- Questions on Home (each a tap)
- 5
- Proposals to accept or decline
- 1
To set up, once
5 stepsEach morning
1 minTo read the brief, then 6 taps on HomeThe morning after an ordinary night of the sample: its brief read at 200 words a minute, and what was open on Home. We’ll measure real owners’ time with our first companies.
Speed
Built to stay fast as your data grows.
Every page
under 120 msTen times the data, and every page still opens in under 120 ms. A whole night of reading, computing and testing takes under a minute, and replays to the same result, byte for byte.
How we measured205 thousand rows1.54 million rows
Every page, at both sizes
Median server time of 15 loads of each page, in milliseconds, against our budget of 300 ms. Lower is better.
An ordinary night, step by step
Seconds per step of an ordinary night, after a first night that read the full history (62.5 s at 1.54 million rows). Measured 10 Nov 2026 on one machine, a Mac with Apple silicon, by scripts/measure_site.py, which loads the sample into PostgreSQL and MySQL and runs the real nightly pipeline. Model calls during the nights: 0.
Eight rules
Rules the code enforces, not promises in a policy.
Each is built into the product, not left to a setting or a habit.
- 01
AI drafts, code computes
A model drafts setup suggestions and the brief’s sentences. Numbers are put into text from computed results; model text carrying a number that isn’t in the computed inputs is discarded.
- 02
Same inputs, same numbers
Pinned libraries, seeded routines, percentiles written out by hand, and an append-only run ledger. Any run can be replayed and must reproduce byte for byte.
- 03
The night needs no model
The engine and scheduler can’t import the AI layer at all, so the run, the tests and the forecasts can’t come to depend on it.
- 04
Read-only, in place
A login that can change data is refused at connect. Only what changed is read; results are stored, tables are never copied. Personal columns are excluded at the scan and refused at the model’s door.
- 05
Every figure has provenance
Every number, finding, forecast and sentence carries its definition, SQL, test, parameters, spec version and run.
- 06
Nothing goes live until you apply it
Drafts wait. Every owner action and system event is written to an append-only log, enforced by the database, not the app.
- 07
One image, anywhere
One container, configured by environment and a data directory. The metadata store runs on PostgreSQL in the cloud and SQLite on premise, with nothing that needs a service we host.
- 08
Small bills
Model tokens are spent only on setup drafting and brief wording. Nightly reads are incremental and results are stored, not tables copied.
The statistics
Methods you can’t prompt your way to.
Signal analysis and statistics, not a model’s guess. Every test, across every metric and breakdown, is corrected together for false discoveries, so a finding is a finding and not chance.
11 detectors, every night
Net hiding gross
01Breaks a total into its parts and tests whether offsetting moves are hiding a real change
Changepoint
02Finds the point where a series settled at a new level, and confirms the shift is real
Forecast breach
03Holds each actual against a forecast band fixed before it arrived, and each goal against where the year is heading
Rising variance
04Watches the spread of a process, not just its average, and tests when it widens
Broken relationship
05Tracks how related numbers move together, and tests when that link breaks
Lead and lag
06Searches for numbers that move ahead of others, and tests that the lead isn’t chance
Concentration
07Measures how much rests on a few names, and whether that is growing
Missing records
08Learns each customer’s or supplier’s own rhythm, and notices when one goes quiet
Process artefact
09Looks for values bunching just under limits and round numbers, a sign of how a process is gamed or rounded
Cross-source contradiction
10Reconciles the same number from two systems and flags the gaps that matter
Bimodal average
11Tests whether an average is hiding two different groups, and describes them