A ultraviolet fungicidal system I worked on at Tortuga AgTech in
2022.
Demonstration of a two-landmark particle filter for robot
localization. The vertical error is due to having only two landmarks
to localize off of.
A safety fixture for ultraviolet lightbulbs that I built at Tortuga
AgTech (UVC light causes sunburn and eye damage). It uses a
limitswitch to cut power if the PVC cover is removed. Interestingly
I also had to add ventilation to this fixture because the lights
heat up the PVC too much.
Software Projects
Doomscroll Detector (2025-09-13): A YOLOv8 vision
pipeline and dashboard that detects whether you're scrolling your
phone while reclining and begins charging your credit card
$0.25/second. I learned the basics of openCV, learned that uvicorn
servers can serve static files, which is handy for avoiding a React
mess. I built this for Hack CMU 2025 over 24 hours.
Physics Vis (May 2025): STEM diagram generation and
interpretation using LLMs. This app can tutor introductory physics
with free body diagrams! I learned to use server-sent events with this
project, and cursed at d3.js a bit more.
Circuit Tutor: an LLM-powered electronics copilot.
Useful for learning, and, fleshed out, I think it could be genuinely
useful for circuit design and debugging, much like
Falstad's Circuit Simulator. This project was inspired by my job at Tortuga AgTech, where I
often had to debug unfamiliar circuits as a non-EE. With LLMs being
all the rage and very useful for understanding a codebase, I thought
it would be cool to try this for circuits. I learned about the
directed graph data structure to write the layout algorithm on the
backend, and also used Python on the server (FastAPI) for the first
time. Also cursed at d3.js a bit.
Fermi Chain: a wordle-like daily game to practice
order-of-magnitude reasoning (think "What volume of air does humanity
inhale in a day?"). This got 3k visits and HN front page! This is
where I learned design/styling more deeply, and also learned the
importance of thinking carefully about your data model, early.
Small GPT: small language model I trained to learn
the basics of ML (pure pytorch, no frameworks). Inspired by the very
helpful
intro repo from
Andrej Karpathy.
Hot Dice Scoreboard: a react scoreboard UI for a
group dice game that my in-laws play. Figuring out the finite state
machine for this just delighted my brain. To implement the FSM, I used
useReducer.
PCT Trail monuments in Cherry. It was fun to use the laser for this.
End-grain cutting board from I think oak
Custom bikepacking bottle holder with cinch closure. You can make
crazy good outdoor gear in a weekend with zero preexisting sewing
skills, who knew?
Sling I made for my sister, upcycled from an old shirt of
hers
Hoody I made! My first piece of apparel
My first major woodworking project - a nightstand with a
patterned plywood
drawerfront.