Uses
The hardware and software I actually reach for, from the optics bench to this site.
Research & lab
Optical modeling happens in COMSOL Multiphysics — finite-element simulations of light propagation, waveguides, and photoacoustic wave fields — and in Zemax OpticStudio when I need ray tracing and tolerancing across a whole system. Most of my inverse-problem, signal-processing, and Jones-matrix polarization code is still MATLAB. Optomechanical parts get drawn in SolidWorks before they ever hit the bench.
Computation & ML
Python does almost everything else. Differentiable forward models and physics-informed networks lean on PyTorch and JAX; the ordinary numerics fall to NumPy, SciPy, and scikit-learn. Exploratory work lives in Jupyter, and manuscripts in LaTeX.
Development
I write in VS Code with Vim keybindings and keep everything in Git and GitHub. This site runs on Astro, Tailwind CSS, and TypeScript, deployed to Netlify — the colophon has the full build. I use Claude Code as a pair-programmer on it.
Writing & notes
Obsidian holds my reading notes and the rougher drafts that eventually turn into the notes on this site.
Hardware
A workstation with an NVIDIA GPU for COMSOL runs and model training. In the lab that means swept-source lasers, fiber test benches, optical spectrum analyzers, and the optomechanics that go with them.
This page is inspired by uses.tech. Last updated June 2026.