Projects About Experience Skills Contact Résumé
← All projects

Browser Synth · Built for My Students

ArcadeSoundFX

ReactTypeScriptTone.jsWeb AudioClaude API
ArcadeSoundFX screenshot

A browser-based 8-bit sound effects generator inspired by classic 80s arcade machines, built for my coding students whose Pygame and Scratch games were silent.

A dual-oscillator synth engine (tone + noise) with amplitude and pitch envelopes and a vibrato LFO runs on Tone.js in React 19 + TypeScript, with curated presets, archetype-aware randomize with undo, patches shareable via URL hash, a live oscilloscope, and one-click 16-bit PCM WAV export through a custom encoder.

An AI prompt bar (“a sad laser powering down”) turns text into synth parameters via the Claude API behind a rate-limited Cloudflare Worker proxy — origin-locked CORS, per-IP and global limits in Workers KV — with a bring-your-own-key fallback. Deployed as a static site to GitHub Pages via CI.