Writing
Notes and guides from building audio software, realtime tools, games and open-weight model research benches.
September 29, 2026 · Audio DSP · WebAssembly
WASM SIMD inside an AudioWorklet: a practical guide
How to move hot DSP loops into WebAssembly SIMD without copying buffers or stalling the audio thread.
September 29, 2026 · WebRTC · Realtime
Low-latency control messages over WebRTC data channels
What matters when you send MIDI-style messages from a phone to a desktop browser.
September 29, 2026 · Games · Graphics
Building a raycaster engine in the browser
The core ideas behind pseudo-3D raycasted games, from grid maps to fish-eye correction.
September 29, 2026 · Open-weight models · Tooling
Code generation with open-weight models, fully offline
Building an offline harness for open-weight models: quantization trade-offs and what small models do well.
September 29, 2026 · Process · Documentation
Provenance docs: making an app rebuildable from its own records
Documenting decisions and schemas so a project can be traced and recreated.
September 29, 2026 · QA · Process
Playtesting-style QA for software that isn't a game
Testing tools and web apps the way players test games: long sessions, odd inputs, real devices.
September 29, 2026 · Audio DSP · JUCE
One JSON patch, two runtimes: browser DSP and a JUCE plugin
Sharing a sound definition between a WebAudio engine and a native C++ plugin without drift.