Every machine above runs in your browser. Five operating systems share one simulated internet, and every run replays to the byte.
260verified expert episodes
14professional domains
4.8×GUI actions per tool call
35 µsto fork a whole world
5operating systems on one network
What we sell.
All three run on ComputerWorld, our engine. It simulates desktops, phones and an internet in one deterministic process.
Computer instances
Start a desktop or a phone with one API call. Each machine runs in its own simulated world, on hosted machines that you do not manage. Drive it with pointer and keyboard, snapshot it, fork it and delete it when the run ends.
Put many people in one world, each on their own phone or computer. Each person sees only their screen and acts on it. Fork the world, change one rule for half of them, and compare what they do.
Professionals’ procedures, performed through the screen and checked against the world’s state. There are 260 verified episodes in 14 domains. Each one replays to the byte.
A lead posts a ticket in Slack on a Mac. An engineer fixes the bug in VS Code on Ubuntu and opens a pull request. A reviewer approves and merges it on Windows. That is 118 pointer and keyboard actions, and 7 checks on the world’s state judge the result.
swe-atlas-bfs-dead-end, seed 3. Every frame is the engine’s own render.
An engineer models a part.
FreeCAD runs inside the world. The engineer sketches a plate, pads it, drills a hole and patterns it, in 86 actions. The CAD engine then recomputes the saved part and compares its volume with the reference.
cad-mounting-plate, seed 1. 16 checks pass.
A late tax return costs a penalty.
A founder registers a company and gets a sales tax license. A bookkeeper files the first return. Then nobody files October’s return. The world clock moves on, a notice comes, and the bookkeeper pays the tax and the penalty. That is 66 days in 251 actions, and 35 checks read the agencies’ records.
gov-late-sales-tax, seed 1. September 17 to November 22 in 53 seconds.
An ad becomes a sale.
A founder sets up Stripe and a search campaign. An engineer deploys the landing page and points a domain at it. A customer searches, clicks the ad and pays. The founder then reads the sale in the ads report. All of it is simulated: no request leaves the process.
A society puts many people on their own phones in one world. Each person sees only their screen and acts on it. Fork the world, change one rule for half of them, and measure how far the rumor goes in each branch.
rumor-cascade, six rounds with scripted residents. Studies use model-driven residents replayed from a journal.
One checkpoint, many futures.
Snapshot a world and fork it. A fork takes 35 µs and keeps 20.9 KB until it writes. Drive each branch its own way. The same actions from the same checkpoint always reach the same state.
Each procedure runs twice: through the screen, and through tool calls that reach the same verified state. Across 260 episodes the screen takes 4.8× the actions and 49× the tokens. That gap is the training signal.
Median actions per episode, by domain. Hover a row for its numbers.
The checker finds policy breaks.
Give it a start state, the actions an agent may take and a depth. It tries every sequence and returns the shortest one that breaks a policy, ready to replay. On the reference world it checked 77,748 states to depth five.
The engine knows what it drew. Each frame comes with the text, the controls and their bounds, so labels are exact and free. Labelled frames raised held-out-font OCR accuracy from 66.8% to 79.4%.
One handle takes actions and returns a scene, a frame and a state hash. The same Rust engine runs natively and as WebAssembly, so Python, JavaScript and Rust see the same world.