~ $ cd projects/next-word && cat README.md

The next word

A language model does one thing: given the words so far, it says what may come next, and how likely. Everything else is how well it says it. This one says it as badly as possible, so that the whole of it can be seen. It reads a text, counts which word followed which, and throws dice weighted by the counts.

the

What may come next

What it learnt: 24 transitions between 15 words
aftercomesseenchance
thecat338%
thedog338%
thecar225%
.the7100%
happy.1100%
glad.1100%
sleeps.1100%
plays.1100%
eats.1100%
runs.1100%
fast.1100%
goesfar1100%
far.1100%
caris150%
cargoes150%
catis133%
catsleeps133%
cateats133%
ishappy133%
isglad133%
isfast133%
dogis133%
dogplays133%
dogruns133%

Press next word and it throws the dice once. Press a word it offers and you are the dice. Press write and watch it go.

Things to try

What it is not

A real model does not keep a table. It would need a row for every run of thousands of words ever written, and nearly every row would be empty. It squeezes the table into a network that answers for contexts nobody has seen, because they resemble ones somebody has — which is where everything interesting, and everything that goes wrong, comes from. But the question put to it is this one, and the answer is used this way: a list of chances, a dial, and dice.

Where it comes from

The first version is from February 2026, made to be shown in a talk rather than explained: the original, with its Catalan texts. This one is written again for this site, with nothing underneath it.

~/projects/next-word $

~/projects/next-word $