I make software that responds to your hands and to the room you're standing in.
M.S. Computer Science at USC · Development Lead at Ganek Immersive Studio, USC School of Cinematic Arts
XR
A headset turns a room into an interface. I work on the hard parts of that: hand tracking that holds up, virtual space that lines up with the physical one, and several people seeing the same thing in the same place.
AI
A model can generate a world, a script or a plan, and it can get any of them wrong. I build the system around it: structure that gives the model something to work from, and checks that catch a mistake before anyone sees it. The aim is a generated room, story or assembly guide that someone can rely on.
Game
Games are where I test an idea fastest, because a player tells you within a minute whether it works. I like controls that use the body, such as a gesture drawn in the air, a kick or an open hand, and multiplayer that stays in step so two people feel they share the same moment.
Projects
WildfireTwinLA: A browser-based 3D digital twin of the hills around San Clemente that replays the Norte Fire from public satellite data, simulates its spread on the GPU, and decides which homes to call first.
Maliang 马良: A VR ritual inspired by the Chinese tale of the magic brush: paint on a scroll, stamp a seal, set it on fire, and your drawing comes alive as a 3D creature or a whole world.
SyncScape: Aligning AI-generated virtual rooms with physical space in MR — walk freely, no motion sickness.
4DGS World Lab: An AI-generated panoramic video lifted frame-by-frame into Gaussian splats — a dynamic 3D world you can fly through in the browser.
SnapFit: Snap a photo of any furniture and get an interactive 3D assembly guide — AI segments the parts, plans the steps, and coaches you through building it in MR.
Fragile: A Façade-inspired, turn-based interactive mystery steered by a trainable Drama Manager.
OpenXR Spec Agents: A supervisor-pattern multi-agent assistant for OpenXR developers: spec RAG, SQL over the extension registry, live web through MCP, and a hybrid router whose every decision is visible.
Tool-Using MCP Agent: A LangGraph agent that picks tools across four real MCP servers, remembers each session, and survives broken servers. Deployed on Cloud Run.
Call Me Merlin: Networked VR spell-casting with bare hands — draw shapes in the air, cast synchronized magic.
Convis: Drosophila Neuron Visualization: A web tool for exploring the FlyWire fruit-fly connectome: thousands of 3D neuron morphologies linked to a classification Sankey and a UMAP of all 139,000 neurons.