website

Computer Science

My inspiration

Computer science inspires me because it lets ideas turn into real, working things. Whether I’m building a virus-spread simulator, programming my team’s community robot, or exploring deeper topics like logic and number theory, I love the feeling of starting with nothing and creating something that actually works. CS is where curiosity becomes projects, and where every problem is an opportunity to learn and build more.

Be my guest

This page is my first attempt at using a serverless backend for an otherwise simple static website. I wrote a small Python function that calls ChatGPT to generate Matrix-style messages related to my personality, the admissions process, and my CS projects. Click on any project below to steer what the AI generates and see how the messages shift based on what you explore. Or simply scroll down to read more about my passion for CS.

Early Age

General Interest

My interest in computer science started early, and one of my first real projects was a virus-spread simulation built entirely in Scratch. During the summer of 2020, I attended Campersand, which moved online because of COVID-19. One of my courses introduced compartment models in epidemiology and the basics of agent-based simulations. I was fascinated by the idea that simple rules could model something as complex as an epidemic, so I decided to build my own version.


In my simulation, smiley faces wander randomly across the screen. Yellow represents healthy people and green represents infected ones. When an infected smiley touches a healthy one, there is a chance of transmission. If they are wearing masks that cover most of their features, the probability decreases because there is less exposed area. Without using any advanced math, I could visually demonstrate how transmission works and why certain precautions help.


It was my first experience discovering that code can bring scientific ideas to life. It was also simply a fun project to create and experiment with.

Scratch simulation of virus spread

My first iPhone app

Virusology

A few years after my Scratch simulation, I wanted to build something more advanced, so I began working on an iPhone application called Virusology. It models the spread of a virus using an agent-based SIR framework. To create it, I taught myself Swift and learned how to structure a full mobile application.


The real challenge was translating biological processes into code. I needed to determine the probability that one agent becomes infected when it comes into contact with another. Real viruses behave in complicated ways, so I had to find a practical method to convert real-world attributes into a simple infection model. To solve this, I developed an approach that estimates infection probability using actual epidemiological data. I explored linear regression and experimented with machine learning techniques to tune the simulation until it behaved realistically.


Virusology became both a programming project and a scientific investigation. It showed me how theory, data, and code can work together, and it pushed me to think more deeply about how complex systems can be represented through algorithms.


I wrote my Stanford OHS final project for my Statistics class, Predicting the Probability of Infection for an Agent-Based Model From Virus Attributes, based on this work.

Scratch simulation of virus spread

Touching the Internet

This Website

When I decided to create a personal website, I wanted it to be fully my own. Instead of using a template, this site is built entirely using HTML, CSS, and JavaScript. Along the way, I had to figure out how to register and manage a domain name, configure DNS records, and deploy the website using modern hosting tools.


I experimented with different layouts, custom styling, and interactive elements. I focused on making the design responsive so it would look clean on phones, tablets, and larger screens. I also spent time improving the overall user experience so the site would be simple to navigate while still reflecting my personality.


Building the website myself helped me understand how the web operates behind the scenes. It gave me full control over every detail and allowed me to turn ideas into working code. It also became a place to share my projects, which made the work both meaningful and enjoyable.

VS Code screenshot

Competitions

USACO Gold

Even though the USACO problems revolve around cows, barns, and every possible farm-related scenario, I have somehow grown to enjoy competitive programming. At this point I feel like I know more about hypothetical cow logistics than any normal person should, yet the problems are so cleverly designed that I keep coming back for more. I started solving them in Python and later switched to C++ once the cows demanded faster algorithms. Through USACO I learned data structures, dynamic programming, greedy strategies, graph theory, and many ways to turn strange farm stories into elegant code.


What I like most is the feeling of discovery that comes with solving a difficult problem. Often the story sounds simple, but the underlying logic requires careful reasoning. I enjoy the challenge of taking a problem that looks impossible at first, trying different ideas, and eventually finding the approach that works. It has strengthened my ability to think systematically and to translate abstract reasoning into working code.


After consistent practice, I advanced to the Gold division. The problems became more demanding, but they also helped me grow as a programmer. USACO has taught me how to analyze complexity, optimize performance, and approach problems in a clear and structured way.

USACO Cow programming

Artificial intelligence

CS50 AI Sequence

My interest in artificial intelligence goes far beyond writing prompts for large language models. I want to understand the algorithms, math, and theories that allow AI to work. At school, I study Data Science, which gives me a foundation in statistics, modeling, and analytical methods. I am also completing Harvard’s CS50 program in AI through edX.


Through this course, I am learning graph search, classification methods, optimization techniques, reinforcement learning, and other foundational ideas. The projects in the course help me connect these concepts to real code in Python.


Studying AI at this level has shown me that it is not magic. It is a combination of mathematics, logic, and engineering that works together to create intelligent behavior. Learning the theory behind it gives me the tools to build intelligent systems of my own, and it motivates me to pursue even more advanced work in this field.

I and my Duck

Community Outreach

Community Robot

One of my most challenging computer science projects is the Community Robot, which I am building with two friends. The robot moves around the neighborhood and shares information about local events, but behind the scenes it is a full engineering system. Its main computer is an NVIDIA Jetson Orin Nano, which we chose instead of a Raspberry Pi because it can run strong on-device AI for navigation and also support real-time conversations with people using a local language model similar to ChatGPT.


The robot runs Linux and uses ROS2 to coordinate cameras, LiDAR, sensors, and motor controllers. We are writing most of the control logic in Python, including the software that drives the repurposed hoverboard wheels and communicates with the ODrive controllers. We are also developing the mapping, localization, and autonomous navigation pipeline that will allow the robot to move safely and independently.


Building this robot is teaching us real robotics engineering, embedded systems, and applied AI, and watching it slowly come to life has become one of the most exciting parts of our computer science work.


More about this project here.

I am working on the robot.