Projects
Understanding LLMs from the Inside
I started looking at what's actually happening inside transformers — the residual stream, attention patterns, how representations evolve across layers. ai-experiments is the quick prototyping platform I built for this: load a model, run an experiment, see the result immediately.
Along the way I've built smaller explorations: visualizing GPT-2's residual stream, reproducing causal tracing, tracking embedding PCA across training checkpoints, and a simplified reproduction of the Cache-to-Cache paper.
Generative AI Tools
When Stable Diffusion took off, I built a suite of tools for ComfyUI, the node-based image generation interface. ComfyUI-Login adds authentication for shared servers. AutoCropFaces uses RetinaFace to detect and crop faces automatically. B-LoRA loads style-content separated LoRA models. ComfyUI-Notebook adds Jupyter-style Python execution — this was the precursor to ai-experiments.
I also maintained top-100-comfyui, an auto-updating leaderboard of the most-starred ComfyUI repositories.
Evolutionary Robotics & Simulation
At UVM I rewrote a CPU-based voxel physics engine into a GPU-accelerated one. Voxcraft-sim parallelizes force calculations on multiple GPUs, enabling much larger experiments in soft-robot evolution. I also built a companion visualizer and an earlier prototype, gpuVoxels.
This work fed into the Xenobots project — living robots designed by computers, realized using frog cells in petri dishes. I was responsible for improving the simulation that drives their automated design.
On the reinforcement learning side, I built gym-codecraft, a Docker-sandboxed environment for an RL agent to learn to write code, and PyBulletWrapper, a gym-like interface for physics simulations.
Learning the Foundations
I learned by building. While working through Geoffrey Hinton's Neural Networks for Machine Learning course, I created interactive demos for each major concept. I also implemented Jack's Car Rental from Sutton's RL textbook using PyCUDA — my first taste of GPU programming.
Tinkering
I tend to build things when I'm curious. An OpenAI-powered dictionary running on an ESP32 with an e-paper display and physical keyboard. A demo of Unreal Engine 5's experimental MassEntity system moving 1,000 cubes. A 4D space explorer. A Google Scholar trend plotter. And 150+ more on GitHub.