Enqualia

Enqualia

From behind to
frontrunner.

Custom AI, built and run for you: your data gets a shape, your questions get your answer.

Point Enqualia at a table and it builds its own model of what is in there. Then agents answer questions, write reports, and draft new APIs on top of it.

No schema to define, no model to configure. Eight rows and it fits.

The fit

What happens when a table lands

Three things run, in order, with nothing supplied but the rows.

It reads the columns

Every column is classified from its own values. Numbers, booleans, categories, free text, identifiers to ignore. Where there is a name column it becomes the label, and where there is a category it becomes the cohort that everything else gets compared against. Nothing is declared.

8 rows minimum. 200 features maximum. Median imputation, z-scored.

It gives every record a position

The numeric and categorical fields become a grounded embedding. Text fields go to a separate semantic tower, up to three hundred records. Records that are alike end up near each other, and the distance is a fact about the fields, not an opinion about the data.

PCA to at most 16 dimensions. L2 normalised, so the dot product is a cosine.

It fits a head for every number

Every numeric column with enough values and any variation becomes a prediction target, learned from the other columns of the same row. A column can never predict itself, and it can never predict itself through a near-copy of itself either.

Ridge, five-fold cross-validation, R squared pooled out of fold. Reported when negative.

The grounded fit is all numpy. There is no training run, no GPU, and no queue to wait in.

The gate

It has to beat the obvious answer, or you do not see it

A number is only shown when it beat the simplest answer available. Otherwise you get the simple answer, labelled.

Before any predicted number reaches you, it is scored against the simplest answers available: the table average, the average of its own cohort, a plain model on the raw fields, and a prior for each single-valued relation the record belongs to. If the model does not beat the best of those on held-out rows, the model number is withheld and the baseline is shown in its place, labelled.

released

>What should the maintenance cost for this site be, given everything else about it?

41,800

range 36,200 to 47,400

expect(site-114, maintenance_cost)
sourcemodel
stratumregion-west, n=34
beatcohort_mean by 0.19 MAE
ci 95%[0.06, 0.31]
withheld

>What should the maintenance cost for this site be, given everything else about it?

29,400[FLOOR]

This is the cohort average. The model did not beat it, so the model number is not shown.

[FLOOR] means you are seeing a baseline, not a model number.

expect(site-207, maintenance_cost)
sourcefloor:cohort_mean
stratumregion-north, n=9
model_valuewithheld
ci 95%[-0.04, 0.11]
For this site the cohort average is the best available answer, so that is what is shown [FLOOR]. Across the northern region there were nine comparable sites with a value, which is below the size where a model number is released.
  • The comparison runs per question, not once at training time.
  • The record you are asking about is removed from the panel that judges its own model.
  • When the cohort is too small, the comparison widens and the answer says so.

Separation of powers

The language model writes the query. It never touches the data

A question is compiled into a typed program. The program runs on numpy. The answer is written from the trace, and then checked against it.

01

Compile

The model sees your field names, your ids and a grammar, never a table of your rows. It returns one JSON program. If the program does not validate, it gets one corrective retry with the errors and the nearest real identifiers.

02

Execute

A deterministic engine runs the program. Same program, same answer, every time, with a hash you can cite.

The only step that runs on the full table
03

Gate

Every model-produced number passes the floor check on the way out. The gate lives in the engine, so no program can route around it.

04

Render and check

A second model call writes the sentence from the trace alone. A checker then verifies that the sentence states the trace's own answer, and relays the withheld and widened labels the trace requires. A sentence that fails is rewritten once, and if it fails again the answer is built from the trace deterministically.

Run the program yourself, with no question and no model involved, and there is nothing to compile and nothing to render.

Agents

What it does while you are not looking

Every capability here is the same agent with a different amount of privilege. The key decides what it is allowed to do, and the rule is enforced in the code, not in the prompt.

Ask for a piece of work, get several specialists

A mission plans up to four workers, runs them in parallel, and each one is a full agent with the whole workspace in context. When the mission ends in a report, a critic reads the findings first and checks the load-bearing numbers against live data before anything is composed. The result is a report that lives in the graph as a node, keeps its own feedback log, and versions instead of duplicating.

Four named specialists: report writer, model trainer, data exporter, API builder.

A watch on a schedule

It snapshots your tables by record set and update stamp, so an edit registers, not just a new row. When something moves it tells you what changed and whether one of your reports now contradicts the data.

Point at a file, a URL, or a question

CSV and JSON parse deterministically. PDFs and pages are structured against the schema the table already has. Every record carries where it came from. Ask for a dry run and you see exactly what would change before anything is written.

Share a read-only assistant

A link that can look at everything and change nothing. No writes, no storage access, no model fitting, and a daily quota claimed before the model runs rather than after.

Connect it to your own agent

The whole tool surface over MCP. The key decides which workspace, so a client cannot name one it has no key for. Long work returns a job id in milliseconds.

The graph

Your business, as a place you can walk through

Every node is a markdown file, so anything you can see, you can open and read. Files that mean similar things sit near each other, and the position is where the similarity lives.

An illustrative workspace. Branches appear as the workspace grows: APIs, Database and Storage on the first sync, then Semantics, Models and Reports once there are any.

Semantic rooms

Records arrange themselves

Records in a table are embedded and projected into a room of their own. Records that read alike end up neighbours, so the groupings appear without anyone tagging them and without a rule being written. Distance on screen is similarity, which is also how retrieval finds the right records: it looks in the neighbourhood rather than down a keyword list.

Records
12
2D fit
94%
Groups it found on its own
WomenswearMenswearInteriorsConcept

One entity, one node

Records for the same thing, scattered across five tables, fold into the single node they describe. You read the thing, not the five rows about it.

Zoom into anything

A node with data inside it opens as its own graph, at any depth. The records that reference it become rooms of their own, one level down.

Watch it think

Ask a question and the answer travels the real edges to the files it actually opened. The spread you watch is the reach the model had.

Two ways in

Start it yourself, or start it with us

The same workspace either way. The difference is who does the first week.

Start free

Free to start, no card. Eight rows is enough to see whether it works.

Book a build session

We land your messiest source and hand back a workspace with a report in it.

Compare plans

Pricing

Fixed plans. Zero surprise invoices.

Every plan includes a monthly pool of entanglements with a live meter, like the AI tools you already use, but for your own workspace and endpoints.

Usage is measured in entanglements. Every call tells you what it spent, in the response header and in the dashboard.

Compare all plans

Start free, no credit card. Annual billing saves two months.

Antoni Elkenbracht

Antoni Elkenbracht

Founder

MSc Artificial Intelligence, Utrecht University. The gate, the entity models and the query layer come out of the thesis work. The method is the credential, and it is written down.

LinkedIn
Marharita Nakaliuzhna

Marharita Nakaliuzhna

Chief Operating Officer

English Literature and Linguistics. Runs partnerships and public affairs, so the teams who need this find it and the work reaches them.

Start here

Point it at one table

Eight rows and it fits. Thirty in a cohort and the gate can judge it per cohort rather than across the whole table. If the model cannot beat the average, you will be the first to know, because it will tell you.

No card to start. Your workspace is yours. Export everything, any time.