Projects

*Click Image To View Project Page*

Pacbot Robotics Team

Pacbot Robotics Team

Description

Lead a >15-person cross-functional team to build a robot that can navigate Pac-Man mazes and play Pac-man autonomously, implementing path-planning algorithms and collaboration across mechanical, electrical, and software systems

Why did I make this?

I've always been into robotics since competing in FTC during high school, and I wanted to continue this interest in college. iRobotics Pacbot was the one of the few robotics teams at UIUC that was software heavy, and I received the wonderful opportunity to lead the team. I learned a lot in my courses about AI and algorithms, but this project allowed me to apply those concepts. I worked on path-finding algorithms, taking inspiration from concepts I learned such as state-space search, A*, and alpha-beta pruning. I also got to collaborate with engineers across difference disciplines and gained great leadership skills here.

Skills

Alpha/Beta Pruning
A* Search
C++
OpenCV
Smart Car

Smart Car

Description

Built a cloud-connected smart car using a Raspberry Pi and electronics, with a dual-server Flask/React infrastructure on AWS EC2 and a React Native mobile app to remotely control the car's movements and see through its cameras.

Why did I make this?

This is my longest ongoing project. I originally created a keyboard controlled car during the COVID-19 pandemic period, when I let my curiosity roam freely. I revisted this car after learning more about computer systems, taught myself how to use AWS EC2 servers in the process, and made it mobile-controlled from anywhere. It’s still ongoing as the possibilities for what this car can be are endless.

Skills

Python
Flask
React
AWS EC2
Linux
Distributed Multi-GPU Training Runtime

Distributed Multi-GPU Training Runtime

Description

A distributed ML training runtime written from scratch on top of PyTorch. This enables gradient bucketing, compute/communication overlap, deterministic checkpointing, and ZeRO-1 optimizer sharding. 96.3% scaling efficiency on 4x H100

Why did I make this?

I wanted to understand the layer underneath Multi-GPU training: how gradients actually move between GPUs, why frameworks bucket them, what makes a training run survivable when a node dies, and how to make it all faster. I learned a lot about distributed systems, CUDA, NCCL, and PyTorch through building this project from scratch.

Skills

PyTorch
torch.distributed
CUDA
NCCL
Distributed Systems
Mixed Precision (bf16)
Multi-GPU Training
QuoteBot

QuoteBot

Description

A Discord bot that generates inspirational quotes

Why did I make this?

I wanted to make a bot for the server with me and some of my high school friends.

Skills

Flask
Python
Discord.py
AWS DynamoDB
This Website Portfolio

This Website Portfolio

Description

My personal website, made using vercel and next.js, that contains details about my career, interests, blog posts, etc.

Why did I make this?

I wanted to make a fully custom website to contain details about my career, projects, interests, blog posts, etc. Right now everything is tech related, but at some point I might add more non-tech related interests.

Skills

Next.js
TypeScript
TailwindCSS