Aaron Hong
Interested in the intersection of sound, graphics, and machine learning. Currently working on local ML benchmarks at Microsoft.
Scroll to move through the network. With sound on, one tone is transformed by every layer it passes through, and you can hover or tap the nodes to play them.
01 Background
About
I'm Aaron, and I'm interested in “tasteful” uses of the computer.
I graduated from the University of Waterloo with a degree in Computer Engineering, where I got to learn how things work from the bottom up. I got my start in internships working across the entire graphics stack (compilers, shaders, and applications) in OpenGL, Vulkan, and Vulkan SC.
Right now, I'm deeply interested in what's possible at the intersection of my work (machine learning), my past (graphics and computing), and my hobby (music production).
02 Selected work
Projects / Public Work
-
01
MLPerf Client
MLCommons' benchmark for ML inference on client devices: LLM and image-generation workloads, measured across PC hardware and runtimes.
My work · Windows ML path
- Keep the Windows ML (WinML) paths working well across hardware vendors.
- Build ONNX models for WinML whenever a vendor doesn't supply one.
- Work with NVIDIA, AMD, Intel, and Qualcomm to make sure their WinML paths are correct and performant.
- Debug and triage performance issues.
- Implemented the FLUX image-generation path for WinML in the upcoming 2.1 release.
- Windows ML
- ONNX
- LLM inference
- FLUX
- GPU · NPU
-
02
Grass
A real-time meadow in the browser, with up to a few million individually simulated grass blades on a 10 m × 10 m field. Each blade is an elastic rod solved with XPBD in WebGPU compute shaders, pushed around by a 2D wind simulation. You can press the grass down with your cursor, and the rustle you hear is synthesized from the simulated leaf motion. There's no recorded wind bed.
- Physics
- XPBD rods
- Blades
- Up to millions
- Audio
- 16 spatial zones
- Output
- HDR · AgX · TAA
- WebGPU
- WGSL compute
- AudioWorklet
- Wind simulation
- PBR shading
Needs a WebGPU-capable browser. Best with headphones.
-
03
This site
A portfolio laid out as a small neural network in three.js. Each section is a layer, and moving between them is a forward pass. With sound on, a single tone is transformed by each layer it passes through (harmonics, wind, frequency modulation, echoes) until it resolves into a chord at the output, and every node can be played.
- three.js
- GLSL
- Web Audio
- Cloudflare Pages
03 Tools & skills
Toolkit
Roughly ordered by how much I lean on them.
Machine learning
- Windows ML
- ONNX
- Inference performance
- Python
Graphics
- Vulkan · Vulkan SC
- OpenGL
- DirectX
- Shader compilers
- GLSL
Systems
- C/C++
- Rust
- SystemVerilog
04 Currently exploring
Now
What I'm paying attention to at the moment.
-
.34
Local ML performance
Making on-device inference fast, and fairly comparable, across PC hardware.
-
.27
Sound from simulation
Audio that comes straight out of the physics, so things sound the way they move.
-
.23
ML as an instrument
Models you play like an instrument, rather than ones you only prompt.
-
.16
Neural rendering
Learned scene representations and where they fit inside real-time engines.
05 Get in touch
Contact
Working on something that needs graphics, sound, or a model in the loop? I'd like to hear about it.
aaron@aajghong.com© 2026 Aaron Hong · Built with three.js and Web Audio