Software Engineer

make useful stuff

I build tools for hard problems. Right now that's medical imaging—volumetric rendering, PET-CT fusion, real-time streaming. I care about developer experience and making complex systems feel simple.

Explore the work Building from Vancouver, WA
Will

stuff I'm working on right now

ChordBoy

🎵

Web-based MIDI chord controller for jazz performance. Play complex voicings with a two-handed keyboard interface and real-time MIDI output.

React TypeScript Web MIDI Tone.js
Visit chordboy.com

timbral boy

🎹

Browser multitimbral sampler. Drag one-shot samples into a local bank, assign them to voices, and play them from a MIDI keyboard with stacked, pluck, and randomizer modes.

React TypeScript Web Audio IndexedDB
Visit timbral

kitboy

🥁

Browser tool for building drum and sample kits, then exporting them to hardware and DAW formats — Akai MPC, Dirtywave M8, Roland SP-404 MK2, and Ableton.

React TypeScript Web Audio JSZip
Visit kitboy

SplitBoy

🎧

Desktop app wrapping a PyTorch ML model for audio source separation. Built the Electron UI, FastAPI backend, and model inference pipeline from scratch.

Electron FastAPI PyTorch Demucs
Visit SplitBoy.com

SquidMaps

🦑

Interactive map for cataloging squid sightings. Browse locations, add new sightings with photos, and share links to specific squids.

React Google Maps Supabase Cloudinary
Visit squidmaps.com

Ski Conditions

⛷️

Unified dashboard for ski resort weather and lift status. Covers Japan, Colorado, Northeast, and Pacific Northwest with interactive maps.

React Leaflet Express Open-Meteo

Stupid

🃏

Real-time multiplayer climbing card game. Mobile-first with bot players, smooth animations, and instant matchmaking.

React Socket.io Framer Motion Fastify
Play now

Blink Drive

🚀

Real-time multiplayer space combat game with client-side prediction, WebSocket sync, and gamepad support. PWA-ready.

Python FastAPI WebSockets Canvas
Play now

Radio SquidMaps

📻

Live streaming radio with real-time chat, queue system, and listener counts. Tune in and hang out.

WebSockets Streaming Real-time
Tune in

Wandering Cat

🐱

Chrome extension that adds a cute wandering cat to any webpage. Watch it explore, nap, and keep you company while you browse.

Chrome Extension JavaScript CSS Animation
Get Extension

Current Work

Sirona Medical

Staff Software Engineer
Jan 2021 — Present

Primary engineer behind an in-house, browser-based diagnostic image viewer and sole code owner of its imaging subsystem — the layer that turns raw DICOM into pixels on screen. Led the frontend migration from a licensed third-party renderer to an in-house VTK.js viewport, then built its core reading tools: window/level, measurements and ROI annotations, MPR, linked scroll, and localizers. Architected multi-object composite stacks and a prior-matching engine enabling fused PET/CT display, drove a multi-year DICOM conformance campaign on the windowing/VOI LUT pixel pipeline, and own viewer memory and performance — from a 50 GB LRU pixel cache to a ~53% cut in prior-loading main-thread busy time.

React TypeScript VTK.js WebGL DICOM Performance

Music

No track selected
Drop audio files in /music
0:00 0:00
Playlist
  • No tracks yet

    /music

Photos