I'm from Concord, MA and I'm a freshman at the University of Michigan
studying computer engineering.
Some of my coding interests are in graphics/art, hardware programming,
and data visualization. Scroll down for some of my projects.
Simulating and sculpting a class of ring linkages called "kaleidocycles." They can be shaped and formed to create interesting designs, with both artistic and mechanical functionality. (Publication)
Air yards are how many yards the ball traveled in the air on a football play. These are density plots of air-yards-based statistics such as WOPR, RACR, YAC, and aDOT for WRs, TEs, and RBs in fantasy football.
A simulation of a Harmonograph table, a suspended, swinging table with a pen fixed to it. The table acts like a pendulum in two directions, so the images can recreated by plotting two parametric equations.
A wooden hand controlled by servos, fishing line, and rubber bands. The servos are wired to an ESP32 microcontroller, which is bluetooth enabled. The fingers and gestures can be controlled through an iPhone app.
A project to plot grades over time to view trends. Uses Selenium to log into and scrape school grading software. This is done periodically and organized by date, then plotted with matplotlib.
Exploring genetic algorthims by teaching flappy bird to play by itself! The leaders of each "generation" are used as the basis of the next. Implemented from scratch using Kim Marcel's Toy Neural Net as the bird brain.
A simple, functional tank drivebase control system centered around a software wrapper for the TalonSRX motor controller. Acts as an interface between WPILib's tank drive class and the Talon's PID feature.
Control system for the 2019-2020 FIRST Robotics Season. Focused on smooth driving and motion control through the use of PID loops. Also maintains an internal payload system in the form of a state machine.
Control system for the 2018-2019 FIRST Robotics Season. Very much focused on motion profiling and trajectories. This robot included an elevator system and a "wrist" portion, controlled by two PIDF systems.
An exploration of GLSL fragment shaders while reading the Book of Shaders. Each pixel's color is computed independently and in parallel as a function of mouse position, time elapsed, and pixel position.
Inspired by this article that covers plotting the midpoint between Earth and Venus as they move, hence "Venerigraph." The green dot moves with angular speed that is a multiple of the red's and their midpoint is tracked.