Design & build · 2026
Rust Fractal Explorer.
A real-time Mandelbrot & Julia explorer — every pixel computed in Rust, compiled to WebAssembly.
Live demo
Drag to pan · Ctrl/⌘ + scroll to zoom · every pixel computed in RustDrag sideways to pan · pinch to zoom · tap to take over the canvas
01 / The problem
I wanted a piece that proves systems-level range, not just front-end — real compute, in a real systems language, shipped to the browser without hand-waving.
02 / The approach
The renderer is a small Rust crate compiled to a raw wasm32 cdylib — no wasm-bindgen, just the C ABI and exported linear memory. It runs in a Web Worker: JavaScript allocates an RGBA buffer inside the WASM heap, Rust fills it with a smooth-coloured escape-time fractal, and the pixels come back to the page as a transferred buffer. A full 700×420 frame at the default detail takes about 47 ms on an Apple M5 Pro and longer on a phone, so input never waits for it: while you drag or zoom, the last frame is shifted instantly and a half-resolution preview is rendered, then the full-resolution frame follows once you stop. The overlay shows the real size and render time of every frame.
03 / The outcome
A genuinely interactive demo embedded right in this site — the clearest possible evidence that I can write Rust, target WebAssembly, and wire the memory boundary by hand.