moxzi

Demos

All three run entirely in your browser tab — Motoko actors executing on the moxzi runtime, with no server behind them. Open the devtools badge to see every canister on the page, including the ones the actors spawned for themselves.

🏮 Lanternfall

A moonlit island run by 2,048 courier actor* instances, each with its own state, identity and upgrade path — inside one canister. Light the beacons before the storm. The game logic is Motoko; Bevy just draws it over WebGPU.

Shows: actor* at scale, authoritative actor state, a renderer-neutral snapshot/delta mirror. Desktop Chrome 153 or Firefox 156, ~11 MB.

⚔️ Knights & Dragons

Actors that phone an LLM, get new code back, compile it in the tab with the Motoko compiler, and upgrade themselves in place — then coordinate by sending each other real messages. Bring an Anthropic key, or watch the scripted version.

Shows: in-tab compilation, self-upgrade, HTTPS outcalls from inside an actor, actor-to-actor messaging.

🗃️ MoxDB

A database whose rows are individual canisters — data plus code — registering themselves with the indexes. ALTER TABLE upgrades every row actor in place, and the whole thing heals a corrupted index.

Shows: actor spawning, upgrades driven by another actor, stable state across a schema change, recovery.

What you are actually watching

None of these is a simulation of the Internet Computer — it is the runtime. Messages are queued and executed one at a time per actor, a trap rolls the message back and leaves the actor serving, upgrades run preupgrade and postupgrade for real, and state persists to IndexedDB so a reload finds the actors where you left them.

The knights demo goes one step further: the compiler that turns an LLM's reply into installable wasm is itself a 7.5 MB Motoko canister running in the same page, and its output is byte-identical to what the command-line compiler produces from the same source.

Knights and MoxDB need a browser with SharedArrayBuffer — any current Chrome, Firefox or Safari. The knights demo makes real HTTPS outcalls from inside the actor, so the page must be cross-origin isolated, which is how this site serves it. Lanternfall additionally needs WebGPU: desktop Chrome 153 or Firefox 156.