Simon Edwardsson has built a small AI model that acts like a computer terminal while running no terminal at all. No shell, no file system, no operating system sits behind it. The model takes each key press as input and guesses what the screen should show next.

Edwardsson described the project, called WorldTUI, on 21 October 2026 in a post on Simon Edwardsson’s blog. It is a solo experiment, and he is candid about it: asked whether it is useful, he answers “Not really.” What drew him in was a research question. Could a model keep a consistent little world going, or would it only produce convincing-looking output?

The setup is unusual. Most language models add text to the end of a stream, but a terminal does not work that way. Pressing Escape in the text editor vim changes the mode, and the clear command empties the display while the cursor jumps up to the first line. So the model reads the screen as a grid of characters and writes out only the rows that change, plus the cursor position. Scrolling is cheaper still: a copy instruction tells it to reuse an old row, which costs about three tokens a row where a full rewrite would need around 96. The whole vocabulary is 333 tokens.

For training data, Edwardsson ran real programs inside Docker containers and recorded every key press with the screen after it. The sessions use randomized usernames, prompts and screen sizes, and a simulated typist who makes mistakes 1.2 percent of the time. The final set holds 336,000 sessions, about 2 billion tokens. The base model, Qwen2.5-Coder-0.5B, had seen around 18 trillion. Training, with its later refinements, took about 75 hours on a single RTX 4090 graphics card.

The biggest gain came from teaching the model to fix its own errors. He let it make predictions, compared them with the recorded screen, and trained it on corrections. Those corrections could only use words that had already appeared on screen or in the typing, because anything else would reward guessing. That change lifted his 47-case test of failures from the demo from 24 to 38 correct, at 4-bit precision.

On his other tests, WorldTUI got 80 of 106 commands right, against 52 for the original Qwen model and 60 for the similar-sized Qwen3-0.6B when those two were only prompted with examples. Edwardsson notes that the comparison is not exact, since the prompted models predict whole outputs rather than screen updates. On a memory test where a file is written and read back, it passed 9 of 13 readbacks, against 2 and 3 for the prompted models.

The limits are plain in his write-up. Combining familiar commands in new ways breaks things: after appending a line to a file, a later read often leaves the line out. Nested folders can leave it lost in the wrong path, and Python handles only simple sums before the answers turn to nonsense. Every number above comes from his own tests, which he built partly from failures he hit in the demo.

Speed took real work. Generating one token at a time left large screen redraws at up to 12 seconds on his graphics card. Letting every row generate at once cut the slowest 5 percent of large frames from 6.7 seconds to 0.87 seconds, with a verification pass to stop rows contradicting each other. After trimming the vocabulary and compressing the weights to 4-bit, the model fits in 208 MB and runs in a browser tab through WebGPU. On his M4 Mac, a single typed character takes about 60 milliseconds.

He plans to release the weights soon, and wants to test a version trained on thousands of randomly generated apps, to see whether a model can guess how a program it has never seen will behave.

For anyone watching the idea of software that is learned rather than coded, this is a cheap, concrete data point: a model small enough for a laptop can imitate a world with some memory, and the failures show exactly where that memory gives out.

Reported by Simon Edwardsson’s blog (simedw.com) on 21 October 2026.