Hands-on technical work I do outside the day job. The LLM project in particular is adjacent to the applied-LLM work in my Current Work section — it's the same problem space, just run on hardware I own.
A Voron-style printer built from a BTT Octopus mainboard with a CAN-bus toolhead, including wiring, sensor integration, and power control. An ongoing exercise in motion systems, firmware, and mechanical tolerance.
A rotating display for 3D-printed models driven by a TMC2209 stepper on a Raspberry Pi, with a migration to a Pico W underway for a smaller always-on footprint.
Multi-node OpenClaw deployment spanning a Raspberry Pi 5 gateway, two Mac minis, and a MacBook Pro on the local network, with local inference via Ollama (Qwen2.5-Coder 7B, Gemma 2 9B, DeepSeek-R1 14B) alongside three cloud providers — MiniMax M3 as the primary agent model, Claude Sonnet delegated for subagent tasks, and Gemini for auxiliary work. The Pi gateway binds to loopback, exposes itself over Tailscale, and enforces token authentication, so the whole system is reachable remotely without a public port. Inbound Discord and Telegram channels route through the gateway to the main agent, and a local embedding model (nomic-embed-text) handles memory search across the workspace.
One of my favorite prints: a wearable replica of Majora’s Mask, 3D-printed in wood-filament for the base and hand-painted and stained for its coloring. The spikes are printed in clear filament, then injected with paint and spun to distribute color through the material. LEDs line the inside of the mask, powered by an Arduino Feather.
A roughly year-long build: the original Dragonzord model scaled 300% before printing, with many parts redesigned to handle the added weight of the larger scale and the embedded electronics. The largest project in this series, both in build time and physical size.
A two-part project: first, a machine that recycles PET1 plastic bottles into printable filament; second, a Serpentera model — close to 4kg finished — printed entirely from that recycled material. The green sections come from Mountain Dew and ginger ale bottles, the rest mostly from Propel and Ice water bottles. Only the gold detailing was painted; every other color is the plastic’s original.
Graphics and simulation projects from graduate coursework.
This project harnessed CUDA to solve the Poisson linear equation through Jacobi Iterations. This produces an image that blends one object into the scene of another.
Graphic representations of objects and scenes that contain real-life levels of detail often complicate real-time rendering. This project looked at another approach to rendering these scenes using light fields created through large amounts of images. First, a scene is created and captured from every angle. Depending on the user's FOV, images are selected from the closest three camera (in CUDA memory) and interpolated together to create a light field representation of the 3D object in real-time.
A parallel cloth simulation in CUDA using Runge-Kutta 8 to integrate between timesteps.
This project was an extension to the Cloth Simulation. The idea behind this application was to amortize the cost of rendering to one machine, then stream vertex information to every client that logs into the system.
A toy scene graph animated with motion capture data from CMU.
Our finished game from the University of Pittsburgh's CS1666 Game Design Class (Spring 2011)