Intro

What to tell you about me ... that's a tough question. At 7 years old I both picked up my first tennis racket and wrote my first Scratch program, making a little orange cat walk 5 steps across the screen. It was then that I developed a passion for a 12th century sport and what would later lead me to build an 8-bit computer on breadboards. I'm glad you're here to learn a little bit about me. Welcome!

Education

I am attending Pomona College in beautiful Claremont, CA, pursuing a double major in Computer Science and Mathematics. I also play on the Pomona-Pitzer men's varsity tennis team, competing in both singles and doubles at the highest level of DIII tennis, and I partake in P-AI, an on campus Machine Learning and Artificial Intelligence project based organization.

Computer Science and Computer Engineering Courses

  • Microprocessor Based Systems
  • Discrete Math and Functional Programming
  • Data Structures and Advanced Programming

Mathematics Courses

  • Linear Algebra
  • Vector Calculus
  • Probability
  • Principles of Real Analysis I

Relavant Courses

  • Intro Engineering Design & Manufacturing with Lab
  • Introductory Classical Mechanics
  • Introductory Electricity and Magnetism
  • Big Ideas in Modern Physics with Lab

Awards

  • Pomona College Scholar
  • National Merit Finalist
  • ITA Scholar Athlete Award

Projects

8-bit Computer

Ever since I was a young child and I wrote my first scratch program, I have questioned how computers actually understand code. C code becomes assembly code, then machine code, which is just binary - but what does a computer do with that? To answer this question, I built a fully programmable 8-bit Breadboard (and later PCB) computer based on the SAP-1 Architecture using basic Logic Gates.

VLSI Transistor Level CPU

The 8-bit breadboard and PCB computers shown above were almost enough for me, there was just one abstraction level left - the logic gates. I could understand how each one worked, but how were they created? I not only questioned how an 8 bit register was functioned from boolean logic, but also how an AND gate was built from transistors, and even how the transistors were actually made. Enter VLSI.

Above is the layout I created for an 8 bit register (the slideshow is just zooming in on a portion of it), demonstrating the exact details of the silicon, including where to N-dope, where to P-dope, where to draw wires, where to move between metal layers, etc. Continued details regarding the rest of the project as well as its development can be found on the project log.

Phototransistor Camera Sensor

NeoObscura is a fully functional custom camera sensor built from scratch with 1200 phototransistors, equipped with hardware accelerated image compression. A 32 bit ARM Cortex-M4 MCU works together with an iCE40 FPGA to produce a 40x30 pixel image. More details about the design process, as well as additional media can be found on the project's homepage.

FPGA Based AES-128 Hardware Accelerator

This is a SystemVerilog implementation of an AES-128 hardware accelerator. In order to fit the constraints of a small FPGA (~5k LUTs), we use a sequential implementation which uses 2443 LUTs. The hardware accelerator accepts plaintext and a key via an SPI channel connected on an MCU, then outputs a ready signal along with the ciphertext back to the MCU via SPI. More details can be found at the following repo.

Latent Diffusion

A paper I wrote exploring a state of the art image generation technique: Latent Diffusion. It describes methods used to generate images from text and presents a new way to expand the conditioning mechanisms to a new space: audio. The result is a successful model capable of generating high quality images from human speech.

Other Exploration

  • School Security - A security system with built in AI capabilities to identify intruders on school campuses using Google's Teachable Machines and Javascript
  • Music Lights - LED light strip synced to live music using IR control with a RaspberryPi and Python
  • RFID Door Lock built with RaspberryPi
  • SendHelp - Safety app developed for iOS using Swift Storyboards
  • COVID Tracker - Covid-19 tracking app developed for iOS using SwiftUI
  • Projects YouTube Channel
  • Github

Work

Apple

In the summer of 2023 I interned at Apple as a Battery Firmware Engineer. I got to work with embedded systems to contribute to firmware functionality for interacting with the Battery Management System chip on iPhone and Apple Watch. This included development for ARM Micro Trace Buffer (MTB), I2C communication, and other firmware features.

Arcadia Tractor

From June 2021 - August 2022 I worked as a Software and Hardware Engineer at Arcadia Tractor, an autonomous vehicle startup. I designed a battery management system (BMS) for a self driving golf range picker, developing skills in ROS through Python and C, as well as understanding hardware communication protocols such as UART, I2C, and CAN Bus.

Cisco Systems

During summer of 2020, I got the opportunity to participate in a Product Management Internship at Cisco Systems. This is where I was first introduced to the RaspberryPi, the powerful credit card sized computer. Based on resesearch conducted with teams to see what was needed during the Covid-19 pandemic, I prototyped a new video conferencing product: Cisco Telepresence - Home Edition.