gkheart logogkheart
HomeProjectsWritingAboutContact

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.

© 2026 George Kobty — gkheart.ca

ProjectsAboutWritingChangelogPrivacyTermskobtyg@gmail.com
Edit with