marble_world
Three.js rigid-body marble sandbox — analytic sphere/capsule collision, spatial-hash broadphase, instanced rendering, bloom.
- Three.js
- WebGL
- Physics
Beyond the headline projects — the range I work across: game & graphics engines, systems & reverse engineering, ML & audio models, VR/XR, and hardware. Where something's an experiment or a port, it says so.
600+ projects, two decades · From shipped products to experiments and the odd thing built just to learn.
Engines, physics, and graphics from the browser to real N64 hardware.
Three.js rigid-body marble sandbox — analytic sphere/capsule collision, spatial-hash broadphase, instanced rendering, bloom.
A from-scratch in-browser 3D modeling studio — loop cuts, UV editing, transform gizmos, ~6.7k lines, zero build step.
A large hand-written WebGL terrain/marble engine.
Tardigraid, Desdoble, Heaven's Piercing Light, GMTK 2021 — URP/HDRP, ProBuilder, Cinemachine, HLAPI multiplayer.
3D browser strategy games.
A multi-year XR practice — shipped VR games, AR across platforms, and OpenVR overlay tooling.
A shipped SteamVR overlay rendering live Twitch chat into the VR compositor, positionable on controllers or in world space.
Unity VR games with SteamVR/Oculus dual support — growth mechanics, planet gravity, tower defense.
AR experiments targeting iOS, Android, and Meta Quest 3 passthrough.
OpenVR overlay-toolkit compositor experiments.
Down at the metal — kernel drivers, GPU pipelines, computer vision, decompilation.
Windows kernel-mode virtual HID driver (KMDF/VHF) with a Node.js native bridge.
Zero-copy CUDA/TensorRT video frame interpolation.
Bomberman 64 decompilation & static recompiler with frame-exact tracing.
Monocular visual SLAM from gameplay video — ORB + KLT + Ceres + DBoW2, Optuna-tuned. (Tuned & extended a foundational pipeline.)
Native screen-capture and input addons via node-gyp / N-API.
Running, serving, and optimising models — local-first, on-device, in real time.
Dozens of tools built on Ollama for on-device inference — agents, analysis, drafting.
Browser → ElevenLabs realtime pipelines (livebrainstorm, overhear) with D3 visualisation.
Gesture recognition (TensorFlow.js / MediaPipe) and WebGPU-accelerated TTS experiments.
Running published diffusion (FLUX, ACE-Step) and TTS models locally with ONNX Runtime.
Bridging physical devices to software — gamepads, gesture, Bluetooth, mics.
Hand-gesture and webcam-gesture experiments in .NET.
P/Invoke gamepad library with a controller-state visualiser.
Unity ↔ Arduino serial, Wiimote input, and 32feet.NET Bluetooth sockets.
Wireless-mic auto-import by firmware fingerprinting (in Transcriber Studio).
Self-built platforms over off-the-shelf — and the tools that ship them.
A self-built PHP/MySQL web ecosystem of 60+ subdomains — CMS, image host, drawing apps, a virtual currency, WebSocket chat, and Twitch bots. The origin of the TranscriberBot → SpeakChatBot lineage.
A DevOps release control plane — build / stage / promote / canary / rollback across 8 surfaces, with a Discord bot and autonomous issue-fixer.
One codebase shipping web (Vite), Windows (Electron), and iPad (Capacitor), with WebAuthn unlock and session replay.
Surface-tablet kiosk platform and tailored WordPress/headless/bespoke CMSs (Midfield).
This is the curated cut. The complete working record — all 365 project folders, searchable — lives in the Archive.
Browse the full archive