Lab

Interactive demos and experiments. Each one is a proof of skill.

WebLLM In-Browser Chat

On-device LLM running entirely on your GPU via WebGPU. Multiple model sizes (0.5B to 1.5B), streaming responses, zero API calls. No budget for API hosting, so I shipped the model to the user's GPU instead.

WebGPU AI WASM Qwen2.5
Live on the main page — scroll to "Talk to the AI" · Standalone demo →

Rust/WASM Fraud Detection Benchmark

Interactive benchmark comparing JavaScript vs Rust/WASM fraud detection scoring. Runs 10K–250K synthetic transactions through a 7-rule pipeline — velocity checks, amount anomalies, geo-impossible-travel, device fingerprint reputation, and merchant risk scoring.

Rust WASM TypedArrays Benchmark

Echoes of the Overworld

Deep dive into C418's Minecraft soundtrack — 34 tracks mapped by key, mode, and personal interpretation. Hidden motifs, disc lore secrets, and an in-browser ambient generator (Web Audio API, triangle oscillators, convolution reverb). Plus five original C418-inspired ambient compositions.

Music Theory Web Audio API C418 Minecraft Ambient

AI Compositions

Original music composed by Yegor & Lobster 🦞 — Atmospheric Jungle and Liquid DnB pieces generated as MIDI and synthesized in-browser with Tone.js. No downloads, no plugins. Click play on any track.

Tone.js MIDI Web Audio API Liquid DnB LodsterSwamp

Conway's Game of Life

Idle screensaver on the main page. Stop moving for 30 seconds and the site comes alive with a cellular automaton overlay — cells in three color families with glow trails, auto-reseed on stability.

Canvas Algorithms Screensaver
Active on the main page — sit still for 30s

Three.js Particle Field

Three-layer particle system driving the main page background — 800+ particles across far/mid/near depth planes with mouse parallax tracking and scroll-driven color shifting between accent tones. Zero dependencies beyond Three.js r128.

Three.js WebGL Particles Parallax
Active on the main page background