I am an ECE graduate student at the University of Michigan with a strong foundation in embedded systems, firmware development, and hardware design. Over the years, I’ve gained hands-on experience as a Firmware Engineer Intern at NVIDIA and Qualcomm, where I developed performance-critical firmware and optimized GPU and modem systems. I also founded AnomalyWC, a startup where I designed and shipped electronics products globally.
My expertise spans programming languages like C, C++, and Python, along with a deep understanding of embedded systems, PCB design, and real-time software. I’m passionate about tackling complex challenges and creating impactful solutions, whether it’s developing innovative firmware, designing electronics, or working on robotics projects.
I’m always looking for new opportunities to contribute and grow within the tech and engineering fields. If you have an opportunity where I can bring value and learn, feel free to reach out!
During my internship at NVIDIA, I developed C based microcode and Python infrastructure scripts for GPU context switching. My tasks included:
Designing and coding a framework for automatic error code generation and enhanced testing processes
Resolving 400+ MISRA/CERT-C violations with Coverity to ensure code reliability in high risk settings
Specifying and implementing unit tests for various modules to verify code matches intended design
Integrating performance optimizations and bug fixes across different GPU hardware variants
As an intern at Qualcomm, I developed high performance C firmware for Bluetooth and ultra wideband modems. My responsibilities included:
Refining algorithms within hardware constraints to process antenna measurements in real time
Developing new modules to calculate input propagation delay and record modem usage statistics
Testing and evaluating performance of firmware on pre-silicon hardware design using FPGA emulation
Performing assembly level debugging on RISC-V architecture with TRACE32 JTAG debugger
Working with hardware team to configure peripheral registers and identify changes for new chip revisions
In 2019, I founded AnomalyWC, a startup focused on designing convenient and easy to use gadgets to help people in their everyday lives. While working as CEO of AnomalyWC, I've developed and launched two products: SunriseRGB and Omni Dial, which were both successfully funded on Kickstarter. As part of my experiences at AnomalyWC, I have been responsible for:
Designing custom PCBs for AVR and ATSAMD microcontrollers
Developing embedded software in Arduino and MicroPython
Modeling product cases in CAD for mass production
Working with international suppliers and sourcing components
Creating marketing materials for Kickstarter and other platforms
Communicating with customers to resolve issues and receive design feedback
C/C++
Python
Java
MicroPython / CircuitPython
Arduino
PCB Design
Embedded Systems
Hardware Debugging
CAD Modelling
Verilog
EAGLE
Git
Autodesk Inventor
Intellij
VSCode
Oscilloscope / Multimeter
Creative Writing
Learning Quickly and Adapting
Communication
Leadership
Harry B. Benford Award for Entrepreneurship Finalist
Congressional App Challenge Winner
MIT Beaverworks PiPACT Top 10 Paper
Michigan Engineering Dean's List
Eight Science Olympiad Medals
2021 National Merit Scholarship Finalist
First Place at MN State Fair Technology Education in 3D Printing and Wiring
AP Scholar with Distinction
SunriseRGB is a controller for WS2812B/Neopixel addressable LEDs, powered by a ATTiny85 processor and user reprogrammable through the Arduino IDE. It features a USB C port and two buttons to change modes and to turn the LEDs on or off. This project was launched and successfully funded on Kickstarter!
Omni Dial is a touch input device for your computer. With a clockwise or counterclockwise swipe of your finger, Omni Dial lets you conveniently adjust brightness, volume, skip through songs, and more! It features USB C connectivity and glows to indicate which mode you are in. This project was launched and successfully funded on Kickstarter!
Cashierless stores rely on computer vision and RFID tags to associate shoppers with items, but concealed items placed in backpacks, pockets, or bags create challenges for theft prevention. We introduce a system that turns existing RFID tagged items into material sensors by exploiting how different containers attenuate and scatter RF signals. Using RSSI and phase angle, we trained a neural network to classify seven common containers. In a simulated retail environment, the model achieves 89% accuracy with one second samples and 74% accuracy from single reads. Incorporating distance measurements, our system achieves 82% accuracy across 0.3–2m tag to reader separations. When deployed at aisle or doorway choke points, the system can flag suspicious events in real time, prompting camera screening or staff intervention. By combining material identification with computer vision tracking, our system provides proactive loss prevention for cashierless retail while utilizing existing infrastructure.
In this project, we extended SplaTAM, a visual SLAM system based on 3D Gaussian Splatting, to enable real-time performance, online visualization, and improved geometric accuracy. Our contributions include custom interactive visualizers using Open3D and Viser, support for real-time RGB-D input from iPhone LiDAR, and a significant optimization of the SLAM pipeline using the gsplat library and Torch JIT compilation. These changes reduced total frame time by nearly 80%, achieving up to 10 FPS performance. We also explored the trade-offs between 2D and 3D Gaussian representations in SLAM, showing improvements in both runtime and reconstruction fidelity.
Vibe AI is an intelligent music recommendation system I developed with a team for our Conversational AI final project. The goal was to create an AI DJ that dynamically curates playlists based on user mood, activity, or social setting. Built using LangChain and GPT-4o, our system interprets natural language input to either generate custom playlists or seamlessly transition between artists. We integrated Spotify’s API to analyze song metadata, built an artist graph inspired by BoilTheFrog for smooth transitions, and applied dynamic programming to ensure musical coherence. Our web app is able to deliver a personalized listening experience that can smoothly transition between vibes!
Gaining access to a locked enclosure typically requires three steps: locating your keys, unlocking the door, and opening the door. This project intends to reduce this process to just one step. To achieve this, we built a STM32 powered smart lock that unlocks the door using a solenoid upon receiving a signal from the Person Sensor, a facial recognition camera system. The smart lock features a button to enter calibration mode, a OLED display that shows the user the current status of the lock, and a red/green lock status indicator LED. To unlock or lock the door from the interior, the user can turn a rotary encoder in a similar manner as with a mechanical deadbolt. Whenever the user unlocks the door, a 30-second timer starts ticking, at the end of which the device will automatically lock.
This project centers around a sunlight exposure and Vitamin D quantification and analysis system, which consists of a wearable vitamin sensor module and a mobile application which allows users to view their sunlight trends. The wearable device contains a UV/ambient light sensor connected to a Bluetooth module, which communicates sensor data on a fixed interval with the user’s mobile device. On the user’s device, the mobile application allows users to set sunlight target goals, based on location/season, and determines if the user has met these goals by calculating the average sunlight intensity from sensor data. Notifications are sent to users to inform them of strong UV levels which could cause sunburns and whether they have met their daily sunlight goal.
This project focuses on creating AR glasses with a transparent OLED display which can display information about what your looking at, like a heads up display. The glasses component is powered by an ESP32 Cam module, which takes pictures of what is in front of the user every second. These images are then sent to a remote server to be processed with OpenCV/cvlib, which uses the YOLOv3 model to identify an assortment of common household objects. The object information is then sent back to the ESP32 and displayed on an SSD1309 OLED.
BlackDuckKeyboard is a open source custom mechanical keyboard I designed and built. This keyboard is fully 3D printed, powered by a Teensy 2.0 microcontroller, with every key remappable through the open source QMK keyboard firmware. The case is split into multiple parts for ease of 3D printing and is designed to fit MX style switches. Internally, the switches are handwired in a matrix and connected to the Teensy controller, along with a WS2812B LED strip.
Finding the proper resistor from a bin is always a hassle, and you never know how many resistors of each value you have left. The goal of this project is to solve this problem by making a smart resistor storage device, powered by a Particle Photon controller. It consists of a storage drawer which will store resistors, LEDs in each drawer to indicate quantity and alert the user to where a resistor can be found, buttons and a screen to change the stored quantity of each resistor, and a web interface to select resistors and monitor the quantity of each resistor.
As part of MIT PiPACT, I conducted independent research on Bluetooth coronavirus contact tracing. During my testing, I used Raspberry Pi computers to measure Bluetooth RSSI through various materials, with different antenna gains, RF interference, and directionality to replicate real world contact tracing challenges. In my paper, I proposed possible solutions to the challenges I analyzed and presented my findings to the PACT research group.
This project features a WiFi controlled RC car, powered by a NodeMCU controller. I lost the remote for the original RC car, a New Bright Hummer H3T, and decided to update it with some modern features. The original motor control circuitry required too much modification, so I decided to replace it with four relays. The main drive motor and steering motor each have 2 relays in a relay H Bridge configuration for forward and reverse and are directly connected to the power source, which I used a USB power brick for.
Z3 Leo is a tiny microcontroller, so small that it fits entirely inside a USB port! Z3 Leo was designed as a low cost, simple and small microcontroller for those small DIY projects that don't need the power of larger microcontrollers. It is based again around the ATTiny85 chip, and has an 8 pin JST SH connector to connect to breakout boards, the programming adapter, or to components of your choosing!
A line following robot, using 2 continous rotation servos and 2 IR sensors connected to an Arduino Uno. The robot goes along a line, and turns left or right depending on whether the left or right IR sensor is triggered, in order to stay on that line. The robot is powered by four AA batteries and has a small office chair wheel as its rear wheel.
Tired of looking through hundreds of jobs to find ones with a good fit? Let a computer do it for you, just like how recruiters screen applicants! This program combs through pages of Indeed search results to find job listings that fit your skills, and can also reject ones that have keywords you don't want.
A very accurate portable thermometer with a OLED display, temperature range LEDs, and a Li Ion battery, powered by a Adafruit Feather M0 Express. Using the 12 bit ADC of the M0 and 2 filtering capacitors for power and data, the thermometer is able to get very precise readings from a custom made waterproof TMP36 probe, which are displayed on the OLED screen and indicated by red, green, and blue LEDs for different ranges. The device is also able to measure the remaining battery percentage from the battery voltage using a charge curve.
Are you sick and tired of manually checking restocks for high demand items like GPUs on Best Buy? Well I have just the solution for you! This restock detector consists of a Python program which constantly refreshes a Best Buy product page, until it detects that the item can be added to your cart. It then sends a signal over serial to an Arduino Uno, which can be connected to a siren or other annoying device to get your attention.