About
I simulate the physical world with computers and use those simulations to design and optimize useful things. My focus is differentiable simulation: writing physics solvers that compute not just what a given device does, but a map of how every design parameter affects it. You can use that map to optimize your hardware over millions of parameters, but also to analyze it, make it more robust, or improve your models of it.
I'm currently a senior technical lead at Flexcompute Inc., where I'm building our multiphysics intelligence platform. This work spans our product technical architecture, AI infrastructure, agentic simulation interfaces, and internal tooling, among others. I also focus heavily on hands-on experimentation and research, putting AI agents in the loop with real physics solvers to see how far the two can go together on important problems. Although my background is in electromagnetics, this is increasingly reaching into broader multiphysics simulations. I'm drawn to the boundary where AI learns about and reasons over the physical world, both as a way to accelerate scientific work and as a rich domain for fundamental AI research.
Before that, as Head of Photonics, I led the development of our electromagnetic simulation products.
Earlier still, I was one of Flexcompute's first employees and spent many years in the weeds developing our products, especially Tidy3D, our open-source framework for cloud-based, GPU-accelerated electromagnetic simulation. I worked to bring this tool from a moonshot prototype to an established product used widely across the industry, while doing a bit of everything: architecting and building the data model and Python client, shaping the product's look and feel, and pitching in on whatever the growing team needed.
My deepest technical contribution was building Tidy3D's automatic differentiation engine. With it, users can differentiate through any function involving a full 3D Maxwell's equations solve on a cloud GPU cluster. The full gradient comes from just one additional (adjoint) simulation. The engine is built into Tidy3D directly and compatible with JAX and PyTorch, making it simple to do things like large-scale gradient-based inverse design over hundreds of thousands of parameters.
Before Flexcompute, I completed my PhD in Applied Physics at Stanford, advised by Prof. Shanhui Fan. My PhD work established some deep connections between physics and computation: I showed that wave physics can perform computation like a recurrent neural network, proposed and experimentally demonstrated backpropagation implemented in light signals for training optical neural networks, developed mathematical methods for gradient-based design in photonics, and created several open source solvers and design packages for simulation.
I studied physics at the University of Michigan and now live in New York City. When I'm not building things I'm usually traveling, cooking, or running around Central Park.
Writing
AI agents equipped with an electromagnetic simulator and design rule checker tackle photonic component design (waveguide bends, crossings, splitters, and demultiplexers) through iterative simulation and optimization. Explores where agentic AI excels and where it hits the limits of parametric search.
A compact introduction to photonic inverse design using Tidy3D. Combining electromagnetic simulation with the adjoint method, a simple 10-iteration optimization loop discovers a waveguide bend achieving ~89% power transmission through a 90° corner.
Timeline
Leading a company-wide team spanning AI infrastructure, platform architecture, and moonshot research. Built differentiable simulation frameworks, agentic design workflows, and an MCP server connecting our electromagnetic solver to AI agents. Principal developer of Tidy3D and its adjoint-based automatic differentiation plugin.
Selected Publications





















Selected Talks
Patents
Open Source
Contact
Open to research conversations and opportunities. Feel free to reach out.