jAIn · free Research Preview

Invent a more accurate model that runs faster in production.

jAIn searches model space against your table, scoring every candidate on held-out accuracy and inference latency together. Search runs once. The model it finds runs on every request after that.

Three tasks, one table. If your problem is not on the left, we would rather you found out here than in week three of an evaluation.

What jAIn does
  • Binary classification — one target column with two outcomes.
  • Multiclass classification — one target column with several.
  • Regression — one target column holding a number.
  • On one rectangular table, CSV or TSV. Mixed types, missing values and high-cardinality categoricals are expected rather than tolerated.
What it does not
  • Time series and forecasting. No horizons and no chronological split: the leakage story for temporal data is unfinished, so it is not offered at all.
  • Text, images, audio and video. A free-text column is read as a category, not as language.
  • Anything that is not one table with one target — joined tables, ranking, recommendation, clustering, survival, causal effects, optimisation.
  • Four problems it does handle and still loses on are named below.
  • None of this is on a dated roadmap. Whichever arrives first will arrive with results, the same as everything else here.
candidates · kept and droppedsynthetic example
Search just started. Everything here is a first guess.
held-out AUC vs. search budgettwo baselines to pass
notebook GBM 0.792 tuned production model 0.831
Search budget
30s
Accuracy
0.741
−0.090 vs production
Inference
18.4ms
2.3× faster to serve
30s of search

→ Synthetic data. Every figure above is made up, including both dashed lines — one example of the search loop drawn to scale, not a run we measured. What it shows is the mechanism: latency is scored as hard as accuracy, so the heavy ensembles that usually win offline benchmarks are the most accurate rows on the board and still get distilled down or dropped before they can take the lead. The hairline down the accuracy column marks the current leader; the greyed rows that cross it score better and lost anyway, on what they cost to serve. jAIn will not run your incumbent to produce that second dashed line yet, so you bring its score and compare by hand. You pay for search once. You pay for inference on every request for the life of the model.

Hosted sandbox, nothing to install — or pull the container and point it at your own data.
Free while it is a preview: no SLA, fair-use quotas, and results and the service can change — preview terms.
Where jAIn loses is written below, and measured results come with it.

What jAIn is for

More accurate

Beats the model you already shipped

Scored on held-out data under your metric, against the incumbent your team built and tuned. Where it doesn't win, the benchmark below says so.

Faster to serve

Latency is part of the fitness, not an afterthought

A candidate that gains a point of accuracy and triples inference cost loses. The winners are lean because leanness is scored, so the model you deploy is usually several times faster than what it replaces.

Yours to keep

It hands back a model, not an API

The winner exports as plain code and weights you own and deploy. If you cancel tomorrow, what it found is still serving traffic on Monday.

How it works

Accuracy is half the score.

A person tuning a model tries maybe forty things and gets tired. jAIn proposes candidates continuously — preprocessing, model family, hyperparameters, ensembling, pruning and distillation, all as one search space rather than six separate decisions.

Every candidate is scored twice — once on held-out accuracy, once on what it costs to serve. A stack of nine models that gains a shade more accuracy than a single pruned tree, and takes an order of magnitude longer to answer, loses. Most AutoML optimises only the first of those, which is why its winners are so expensive to deploy. What is being searched, and how that differs from AutoML, hyperparameter search and automated feature engineering, is defined in full here.

The plateau is real and we'd rather show it than hide it. Past a certain budget the search is finding tenths, and on most problems that's the point to stop and ship.

01 Read
Infers schema and splits held-out data before anything else runs. Mixed types, missing values, high-cardinality categoricals, dates.
02 Propose
Generates candidate pipelines across preprocessing, model family, hyperparameters and ensembling as a single joint space.
03 Score
Evaluates each candidate twice: held-out accuracy under your metric, and measured inference latency at your batch size.
04 Keep
Retains the best result on the joint objective. Wide ensembles that win on accuracy alone get distilled down or dropped.
05 Hand back
Exports the winner as runnable code and weights, with the full candidate log so you can see what it tried and rejected.

The record

Where jAIn loses.

Four places the method does not pay. They are the first thing in this section on purpose: if one of them describes your problem, we would rather you found out here than in week three of an evaluation. Five more, and these four at length, are on when not to use VEOX.

01 · small n

Under a few thousand rows, selection pressure overfits the held-out split before the search finds real structure. A regularised GLM usually wins and is easier to defend.

02 · strong priors

When you already know the governing relationship, encode it. jAIn has no way to take your domain knowledge as an input yet, so it spends budget rediscovering it.

03 · near-optimal baseline

If irreducible noise dominates, our median lift is under a point. Real and measurable, and rarely worth a procurement cycle.

04 · hard interpretability

If a regulator needs coefficient-level reasons, a searched ensemble is a harder story than a GLM. Attribution ships, but attribution isn't structure.

What the trade looks like.

Nine worked examples of the shape jAIn is searching for: a point or two of accuracy against several times the inference cost. Where it does not win, the row says so.

synthetic data

Every figure in this table is generated. These are illustrations of the trade, not results we measured — jAIn does not yet run your incumbent as a baseline or write an auditable result, so there is no run log behind them and none is implied. The protocol measured results will be published under is already public: how we will measure.

Synthetic worked examples. Every figure is generated, not measured.
ExampleIncumbentMetric Hand-builtjAInΔ Inference
9 of 9 synthetic examples shown · no measured run log is published Measured results arrive with the Research Preview

When numbers here are measured rather than drawn, they come as receipts: an identifier that re-runs the search, the incumbent it was scored against, the metric and holdout fixed before the search started, and the losses in the same list as the wins.

Two ways in

Run it on your machine, or don't install anything.

Same search either way. Most people evaluating jAIn pull the container and point it at their own table — if you'd rather see it work first, the sandbox takes about thirty seconds.

Research Preview — free

One command, then it is yours.

Docker on your machine, the search on our hardware. Drive it from the browser or from Python.

curl -fsSL https://veox.ai/install.sh | bash

Either way it comes up on http://localhost:8369. Work in the built-in workspace, or drive the same session from Python over localhost, and take the winning model away as a standalone program with its report and receipt. See the Python guide.

Your table is uploaded to run: the workspace is local, the search is not, and there is no offline mode today. Higher quotas and a deployment that keeps the search inside your own network are what a private deployment is for, and that is in design rather than on sale.

Would rather run the Docker commands yourself, or need a machine that cannot fetch a script? The same install by hand, step by step, is in the Docker guide.

free account · no card · binds to localhost only
preview: no SLA · fair-use quotas · subject to change
signed · verify with cosign and the published key
Try it online — Research Preview

Thirty seconds to a first model.

Nothing to install. No role dropdown, no use-case form, no call with anyone.

  1. Create a free account — email and password, that is the whole form.
  2. Upload your own CSV, or start from one of the free example datasets.
  3. Watch the search run, then export the model, the report and the receipt.
free · no card · no SLA · fair-use quotas · subject to change
uploads deleted at session end · never used for training

Where it plugs in

It reads from what you already have.

Deployment is a container and a service account, not a migration. Two of these run today — the hosted preview and the local Docker workspace, both with the search on our hardware. The rest is what the container is built to run on and where its exports are meant to land, which is a conversation rather than a product you can buy this quarter.

Data
  • Snowflake
  • Databricks
  • BigQuery
  • S3 · GCS · ADLS
  • Postgres
  • Parquet · CSV
Compute
  • AWS · GCP · Azure
  • Kubernetes
  • On-prem
  • Air-gapped
  • CPU or GPU
  • Laptop
Workflow
  • Jupyter
  • VS Code
  • Airflow
  • dbt
  • MLflow
  • Python SDK · CLI
Ship to
  • Plain Python
  • REST endpoint
  • Batch job
  • Container image
  • ONNX export
  • Embedded

Enterprise

A private deployment is designed, not shipped.

This section used to market an enterprise build, an air-gapped configuration and per-deployment licensing as things you could buy. None of them exist yet: what runs today is the free Research Preview and the local workspace in front of it, and the private deployment path comes after the preview earns it. Below is the design, labelled as design, and the two lines that are true now.

We work with a deliberately small number of design partners at a time. If one of these rows is the thing standing between you and an evaluation, telling us is what gets it built against a real requirement rather than a guess.

Tell us what you need → Send to your security team
Runs today
The hosted preview, and the same workspace in Docker on your machine. Both upload your table and run the search on our hardware. There is no offline mode.
Yours already
The winning model exports as code and weights you own and deploy, with no runtime dependency on us. That part is not waiting on anything.
Deployment · in design
Your VPC, your Kubernetes, on-prem or fully air-gapped, with the search on your cluster under your quota. Designed for it; not available, not priced, not scheduled here.
Licensing · in design
Intended to be per-deployment rather than per-seat. There is no price list and nothing to sign, so treat this as the direction and not as an offer.
Pilot · ask
Two to four weeks against one of your real datasets, scored against your incumbent, is the shape we want. jAIn does not yet score itself against your model, so ask and we will tell you what a pilot can honestly do today.

More accurate.And cheaper on every request.

Free while it is a preview: no SLA, fair-use quotas, and results and the service can change. Preview terms →

Binary classification, multiclass and regression on one table. What it does not do →

Part of VEOX · engineered intelligence →