Tools for Triton Robotics:
Projects:
ESPmote

I have long had the goal to make a wii remote of metal, for no other reason than that it would be fun, but before I knew it, that project turned into me making an entire wiimote from scratch (includes firmware, pcb, hardware, and enclosure). In around March of 2026, I finally made notable progress. Below is the code for the project and a small blog page on the journey.

Firmware, Hardware

C, I2C, ESP32, Bluetooth BR/EDR, PCB Design, RTOS

Personal Project

Embedded Code @ Triton Robotics

I spent my four years (2021-2025) at UCSD working on Firmware and Controls code for the competitive robotics team Triton Robotics. I was a general embedded member for one year and I spent the rest of the three years as the Embedded Team Lead. A lot of the code I wrote my first year is absolute garbage so my hope is that I can help my underclassmen fix up my mistakes over time.

Firmware, Hardware

C++, I2C, SPI, UART, PID, Linear Controls, STM32, RTOS

University Organization

StarCraft II Bot

I am part of a community of StarCraft II players that write code for bots on a bot-vs-bot ladder known as AiArena. I started my bot about a year ago from scratch and am very proud of the work I have done with it, I have built a modular and clean framework that I am able to expand on easily and that is very optimized for what it does.

Software

C++, Visibility Graphs, Spacial Hash Grids, Pathfinding, Optimization

Personal Project

UCSD Virtual Lab

Wrote UI in JS and HTML for students to be able to access virtual labs in a more interactive and helpful manner. Utilized AWS S3 Buckets as a web server to host the lab files, and stream them to the user.

Software

HTML, JS, CSS, AWS

Project for Professor Maziar Ghazinejad

StarCraft II Randomizer

Fun randomizer for Starcraft II, where both players will run the randomizer and are only allowed to use the units shown. Each player gets one reroll.

Software

HTML, JS

Personal Project

Raytracer in a Weekend

Following Sebastian Lague's series (which is based on the raytracing in a weekend textbook) on making a simple raytracer. For speed and because the raytracer runs on a browser, the pixels are kept to a very small number, and the image gets better the longer you look at it

Software

JS

Personal Project

Tanks!

Failed attempt at recreating the Wii Play game Tanks!. Learned about project matrices with relation to squares and how to traditionally render 3D objects such as cubes, before realizing that I was overcomplicating things because I was going to be using a 45 degree angle of camera anyway, and I should worry about the gamemplay first. The simplified version has more working features but is still not much to talk about.

Software

JS

Personal Project

Feeds and Speeds Calculator

I have come into a 60x40cm CNC Router that I want to use for a number of projects, so for that I began looking for a Feeds and Speeds calculator so that I can get fast cuts without wearing my endmill too much or breaking the bits. I found such a calculator with very in depth options and all the math necessary, but I found the UI a bit lacking for my taste, so I spruced that up and kept the underlying everything mostly the same.

Software

HTML, JS, CSS

Personal Project