What It Is
Zezek the Goblin is a browser-native model playground built around a tiny from-scratch nanochat checkpoint. Instead of calling a hosted model endpoint, the page loads Zezek d4, tokenizer assets, and Float32 weights into the browser and generates replies locally.
The result is both a character chat toy and a runtime experiment. It proves that the site can host a small model artifact directly, then make the internals visible enough to inspect, perturb, and learn from.
Why It Matters
Most chat demos hide the model behind an API boundary. This build pushes the opposite direction: put the runtime in plain JavaScript, keep the model assets static, and let the browser become the lab bench.
That makes it useful for GameLab because it combines play, model operations, and explainability. You can talk to Zezek, watch the activation river, change in-memory weights, alter the layer plan, and inspect generation metadata from the same page.
How To Use It
- Open the runtime and wait for the Zezek d4 bundle to finish loading.
- Ask short prompts first, then try the suggested examples around roadmap, identity, and family.
- Click activation stages to inspect token, layer, and logit telemetry while generation runs.
- Use mutation and layer controls as experiments, then reset before comparing behavior again.
Build Notes
The project currently keeps correctness ahead of speed. The runtime uses CPU matmul loops, Float32 weights, top-k sampling, repetition handling, and a browser-compatible tokenizer path. It is deliberately small enough to be understandable, inspectable, and hosted as static files.
The next natural frontier is performance: KV caching, quantized weights, and eventually WebGPU kernels after the JavaScript runtime remains stable enough to trust.
Related builds
First Job Finder shows browser-side decision support with real local framing. Independence Town turns systems thinking into a playable town loop. Timestorm Baseball is another static, browser-heavy experiment with a different interaction stack.