What we're built on
This page is a list of parts with their real status attached. Three of those statuses do the work. In this build means the piece is wired and deployed in this repository today, and you can hold us to it — it does not mean a product feature is sitting on top of it, and where the piece is bare the note says so. Planned is in the product design and has not been built, contracted, agreed or paid for. Estimate is our own calculation with the assumptions stated. Nothing here is a claim of a commercial arrangement, and there are no logos on this page for exactly that reason.
Read the two together before you read anything else on this page: the infrastructure is real, and so are the Strategist and the validation engine, which have run end to end on synthetic data in our test environment. The app is not open, execution is not built, and there is no broker and no exchange market data. Everything below that describes execution is design — the contract that part will have to satisfy — and the table gives the status of each piece.
Two speeds
A language model on every tick is the most expensive and least stable way to watch a market. So the system is designed to run at two speeds, and they are never allowed to mix. Neither speed runs today: both belong to execution, which is not built.
The top row is to run on every tick, in deterministic code, with no model in the loop: the market feed reaches a quantitative engine that computes signals, holds the stop-loss, enforces position limits, tracks drawdown and owns the kill switch, and only then reaches the broker.
The bottom row is to run in minutes, by interval or by event, and that is where the models go. A small scheduled model reads the current state and the knowledge base and proposes an adjustment as structured JSON. A larger reasoning model is woken only by an event — a volatility break, a drawdown, a regime change, a piece of news. Either way the engine has to validate the proposal against the limits before anything happens, and a proposal that violates a limit is discarded, not negotiated.
Three reasons for the split, none of them about price. Latency: a full model decision takes longer than a market decision has. Rate limits: one request per second per user, at the scale the product is designed for, is beyond the tiers we have priced. Determinism: risk rules have to be reproducible and auditable, and a sampled model is neither.
Models by task
One expensive model to think; one cheap model to watch. A frontier model costs materially more per token than a small one, so putting the same model in both places is a choice that buys nothing. Strategy creation runs today on a model served by Workers AI, with the frontier route wired and switched off; the other three are how the work is meant to be split.
- Strategy creation — a frontier reasoning model, with strong open-weight alternatives.
- Scheduled review — a small, fast model in a non-reasoning mode.
- Rebalancing and risk — rules in code, with a mid-sized model invoked by event.
- Retrieval — an embedding model plus a reranker.
The rule that survives every one of those choices: the model writes and explains; the engine in code produces every number. Language models are not evaluated as financial analysts and we do not rely on them for arithmetic, and models trained on the open internet already know how the past turned out, which is exactly the bias a backtest exists to avoid. Two language agents propose and interpret; an engine in code produces every number; a human approves.
That rule is enforced in code: a guard rejects any metric a language model tries to supply. No number on this site comes out of a run, though. The app is not open, so the numbers you see here are parameters we declare and market figures we cite, each with its source.
Where the models run, and what is retained
There are four honest routes — direct provider APIs, hyperscaler endpoints, open-weight inference services, and rented or owned GPUs — and the criterion that decides between them is data retention, not list price, because the knowledge base holds proprietary material.
Zero-retention arrangements are repeated here only as each provider documents them, and never as a general property of the category. Where a provider states it, we say so and name the provider; where it is a contract term rather than a default, we say that too.
Brokers
You bring your own account. Quant24 connects to the futures broker or prop firm where your money already sits, and never holds funds and is never in the path of the money.
Four routes are in the design — Rithmic, CQG, Tradovate and Interactive Brokers — and none of them has been contacted. They appear on this page as planned integrations, with no logos and no suggestion of an arrangement, because there is nothing to suggest. Broker connect is designed as a complete interface sitting in a waitlist state; it is not built, and when it is, it will be declared as a mock until a real connection exists.
Market data
This build has no exchange market data. The only bars in it come from the synthetic generator,
labeled SYNTHETIC-DATA in the interface, in the code and in storage, and the label is enforced
by the components rather than remembered by a person. No exchange data is downloaded, shown or
redistributed, and there is no market data subscription and no exchange license behind this
build.
That is not only a cost decision. Redistributing exchange data to users requires a distributor license, so the design keeps the user's data arriving through the user's own entitlement at their broker rather than through us — which is the same shape as the rest of the product: your account, your data, your approval.
What this build actually uses
Next.js on Cloudflare Workers through OpenNext, with D1, R2, KV, Queues, Durable Objects and Workflows underneath; Workers AI behind an AI Gateway, which the Strategist runs through; the validation engine and the synthetic data generator; Auth.js with email-link and Google sign-in; Stripe in test mode; Resend for email; Turnstile on the forms; the design system that renders every component; and the content pipeline that refuses to publish a figure without a source. Built on Cloudflare.
What this build does not have, and what the rest of this page describes as design: the Executor, broker connections, exchange market data, the knowledge base, and the deep-reasoning route, which is wired and switched off. And the app is not open, so nothing that is built can be used from this site yet.
The table on this page is the complete list, and the status column is the part worth reading.