Watch it speak
From Chapter 27 of Large Language Models from the Ground Up. This is not a mock-up: it is the book's actual 824,897-parameter GPT — the one you train in notebooks 08–09 — with its int8-quantized weights downloaded into this page and its forward pass re-implemented in plain JavaScript. Prompt it, set the dials, and watch it roll Chapter 27's loaded dice one character at a time.
Everything on this page is machinery from the book, running for real. The weights are the ones notebook 09 trains (Chapters 23–25) — verified on load by replaying the forward pass over "ROMEO:" and matching the exported golden logits. They travel int8-quantized, one scale per matrix row (Chapter 36), and generation runs on a KV-cache — the prompt is encoded once, then each new character appends a single key/value row per head instead of re-deriving them all (exactly Chapter 28's trick; watch the context counter). The dials are Chapter 26's: hold the seed and sweep temperature — around 0.1–0.5 the model digs into a rut ("the world of the world…", degeneration's mild cousin), at 0.8–1.0 it speaks its honest Shakespeare-flavored voice, and by 1.5+ spelling dissolves into noise. Same 824,897 knobs every time — only the dice change.