Projects & Hobbies

Current

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.

3D printer build

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.

Motorized model display

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 LLM deployment
In production on my own hardware

Multi-node LLM Deployment

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.

Project Details

  • Local LLM Inference
  • Ollama
  • Raspberry Pi 5
  • Tailscale
  • Hybrid Local/Cloud Routing



Majora's Mask 3D print
Completed

Majora’s Mask

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.

Project Details

  • 3D Printing
  • Multi-material Printing
  • Wood Filament
  • Hand-Painted
  • Color-Injected Resin
  • LED Integration
  • Arduino
  • Reference
  • Photo Album



Dragonzord 3D print
Completed

Dragonzord

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.

Project Details




Recycled-Plastic Serpentera 3D print
Completed

Recycled-Plastic Serpentera

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.

Project Details




Earlier work

Graphics and simulation projects from graduate coursework.

Poisson Blending

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.

Project Details

  • CUDA-Based
  • Poisson Blending
  • Jacobi Iterations
  • Reference



Light Fields

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.

Project Details

  • CUDA-Based
  • Light Fields
  • Real-time Rendering



Cloth Simulation

A parallel cloth simulation in CUDA using Runge-Kutta 8 to integrate between timesteps.

Project Details

  • CUDA-Based
  • Physics-based Animation
  • RK-8



Amortized Cloth Simulation

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.

Project Details

  • CUDA-Based
  • Amortized Simulatiom



Motion Capture Animation

A toy scene graph animated with motion capture data from CMU.

Project Details

  • CMU motion capture data



Cloud Factory

Our finished game from the University of Pittsburgh's CS1666 Game Design Class (Spring 2011)