This site is a compilation of just a few of the projects I've worked on over the years that I'm proud of (whether that be because I learned something cool and/or the outcome was cool).
Not all of them are completed, but they still showcase what I've done and learned!
![]() |
Naperville North School Store App |
Language: JavaScript (Express and Node.js)
GitHub RepositoryI worked on the School Store App with a team in my software engineering class in high school. We worked with the product owner to pick up and improve the previous year's group's work. We added all sorts of functionality that was missing, like pick-up time management, active inventory management, data exporting, etc. By the time we finished, it was working very well, and we were testing it with groups of students and home & school volunteers. This was my first real web project that I had worked on that used a server to actively process data and send back to the client; it was a process that I wasn't as familiar with, but it was still interesting.
![]() |
Pokémon Battle Simulator |
Language: Python
GitHub RepositoryThe final project for my Computer Programming 2 class in high school was to incorporate a lot of what we had learned over the semester into one project (mainly classes, functions, and json APIs). I decided to make a Pokémon battle simulator. I loved programming it so much that I'd spend hours outside of class working on it and making it as good as I could. I'm really happy with the end result, and although it doesn't include everything I had wanted in it at the start, I think it ended in a great place.
![]() |
Cityscape Animation |
Language: Java
GitHub RepositoryOne of the summative assignments in my AP Computer Science A class in high school was to create an animated cityscape with different classes we create. Many students tend to create cityscapes in 2d, but I wanted to challenge myself and add another dimension. I decided to make the animation be a scene looking and going down the road into the sunset, and I think it turned out well! Later in the year, I was encouraged to add new things into my cityscape. At the time, the road in my cityscape was just a solid shape with no features. I thought that was a little boring, so I added some road lines, which I think made it look even better. I found it really fun to design a way to turn a set of 3d points into 2d points using just a single formula; it was so satisfying to see it work the first time. I learned a lot leading up to this project: my favorite thing we learned for this was graphics, as I had never worked with graphics in Java before and had always been slightly afraid to try. I really believe fun projects like this one are amazing things to help students get drawn into CS and see the awesome things they can do by typing some funny words into a computer.
![]() |
dCache Kafka Digest |
Language: Python
Talk/PresentationThis was the project I worked on during my internship at Fermilab. It is a program that takes in hundreds of storage "billing" events from dCache (a large file-storing system) off of one part (topic) of a kafka server (a real-time event streaming processor), aggregates, sums, converts, and formats the data into another format over a time period (usually every hour) for the monitoring system, and outputs it on another kafka topic. When I gave my talk on the project, I was encouraged to include a little section on what I got out of the internship, and I had gotten a lot out of it! The main thing was that I had to learn how to write a program for a semi-data intensive real-time environment, something I had never done before. I also had a lot of fun; I was afraid writing code for a non-personal or academic project wouldn't be engaging, but it was!
![]() |
RPN Calculator |
Language: ARM Assembly
GitHub RepositoryIn making this program, I was able to experiment and practice using almost everything I had learned up to that point. That included things like DMA transfers, system calls, the stack, backgrounds, sprites, etc. This is one of the largest programs I have made, and I had so much fun making it! I kept running into small issues, and it was fun to stamp them out.
![]() |
GBA Practice and Test Programs |
Language: ARM Assembly
GitHub RepositoryI decided that I should put practice and test programs somewhere where I can show them off and hopefully help people who are new to GBA ARM programming, so I started writing a few programs and sticking them in a Github repo. Some of these programs were easier to make than others, but they were all fun to make nonetheless. By writing these programs, I believe I got even better at programming assembly for the GBA.
GBA Multiboot |
Language: ARM Assembly
GitHub RepositoryThis was a fun program to figure out and make because multiboot on the GBA isn't super well-documented. It was also very interesting to manage data going back and forth across the wire. The program allows a host/master GBA with this program running on it to connect up to a client/slave GBA and send a program over to run on it. Making sure all the data was correct and that I sent it all over at the right times was a challenge, but every time something new worked, it felt so good.
Interactive Program Written in Hexadecimal |
Language: None
GitHub RepositoryOnce I had done a good amount of programming for the GBA in assembly, I thought to myself, "What if I try just writing the machine code?" And so I gave it a go! I spent so much time reading through and trying to understand stuff in the ARM architecture reference manual that went with the ARM7TDMI while also comparing assembly to the assembled code, and I had a handful of instructions down pretty well for a while (but as they say, "use it or lose it", and I'm trying not to lose it). This was one of the most fun and difficult adventures I've ever done in programming! I learned so much about really low-level computing, and I genuinely think this made me a better programmer.
![]() |
Learning to Mod Minecraft |
Language: Java
GitHub RepositoryI wanted to learn to mod Minecraft a few years ago, and so I started learning and making this mod. It is a mod of Minecraft 1.19 that I had built up (slowly) over a year or so (I think) as I got ideas. It was a cool venture into modding Minecraft and was the first mod I ever made for any game. It was also one of my first ventures into the Java programming language. I had done some stuff in Java before, but not really in any large capacity. I really enjoyed making this; sometimes, I'd just work on it for hours trying to see if I could create something completely different from what I had done all on my own. Even though it took me longer than if I had followed what someone else did, it helped me learn and remember more.
Arrow Key Camera Controls Mod |
Language: Java
GitHub RepositoryI modded Minecraft 1.20.4 to allow me to control the camera with the arrow keys. I wanted to be able to play around with it and make some challenges in the game for myself, and it turned out exactly as I had hoped! Another thing I wanted to try with this mod was to automate playing the game, but I sadly didn't get that far (maybe with AI I could do it!) When I mod Minecraft, I usually just add blocks and items, but this time allowed me to experiment with modding other parts of the game, which was fun! I initially had a few challenges with this mod; the main issue I had was the camera being too jittery because it only turned the camera every game tick, which is 1/20th of a second, but making it update every frame ended up working well. I also had issues with the speed of the camera, whether too slow or too fast, and although it took me a while, I think I got it to be almost perfect, which I'm very happy about.
![]() |
Image Post-Processing Shader Using Minecraft Resource Packs |
Language: OpenGL Shading Language
GitHub RepositoryWhen I first learned about post-processing shaders, I fell in love (figuratively); I loved how people were able to take the image data (along with any other information), transform it with math, and create a beautiful image. Because I had also been curious about Minecraft shaders for a while, I decided to try implementing some image filters and effects using post-processing shaders I could build into Minecraft resource packs. I learned a lot while doing this project: GLSL, shaders, Minecraft shader implementation, and GPU programming. I see now that some of these things (mainly GPU programming) could come in quite handy in the future, especially with AI doing a lot using GPUs.
![]() |
Decimal to Binary Converter - TI-Basic |
Language: TI-Basic
GitHub RepositoryThere's a program button on my TI-84 Plus CE, so I decided to learn and make something with it. I wanted to make something that could be useful and doesn't exist by default on it, so I decided on making a decimal to binary number converter. Although it isn't the most complicated thing in the world, I was able to learn a lot about doing calculations, writing to variables, using functions, and writing to output in TI-Basic (the programming language on the TI-84 Plus CE). It's so fun to learn different programming languages and how they can interact with systems because it lets me think more about language design.
This, of course, is not even close to all of it. I love working on all sorts of projects that pop into my head, but they don't all get to see the spotlight. I have a few more projects linked on the home page of my website too.