HOME | Contact

Projects

Below is a list of projects that I have worked on. Further documentation can be found by clicking on each project's name.

Custom Two-Key USB Keyboard

January 2025 - March 2025

This custom two-key keyboard was designed to allow osu players to use a different keyboard when playing osu. Many osu players use two keys to play osu and so if they always use the same keys on their keyboard, the specific keys on their keyboard that they use to play osu will wear out before the other ones. This custom two-key keyboard makes it easy to switch key switches and keycaps when needed. You can find the stm32 project on my github by clicking here.

Advanced Autonomous Rubber Band Glider

December 2023 - May 2024

The Advanced Autonomous Rubber Band Glider, AARBG for short, is exactly what its name reads. It is advanced, it is autonomous, it uses a rubber band, and it glides. Basically what it is, is a plane that flies around a specified radius and takes picture and video of the land below it. It eventually returns to home on command or the battery becomes too little. This was created be my friend and I using Solidworks, Altium Designer, STM32F401RE, Arduino Mega 2650, a variety of sensors and components, and a whole bunch of wires. The whole idea is that a motor winds a rubber band to store mechanical energy and then releases the rubber band to spin its propellers. Trust me, I have tried talking my friend out of this, why not just use the motors to directly spin the propellers. I'll never know the reason. Other than that, this project introduced me to a lot of roboics and microcontroller interfacing. This type of project was definitely a first for me, prior to this, I had basically never used a microcontroller. Finally, all of this was possible thanks to Dalhousie University for providing funding and a safe place to design and implement. More photos can be found on my github (click here).

SET

December 2023 - February 2024

SET is a family card game. The rules are pretty tricky to explain but after playing once, it's not hard to get the gist. You can find the rules explained in my source code here. I coded the game using C++. This was my first ever coding project. I first thought of making this game because I came across the game SET while at a friend's house for dinner when we started playing it. I got good at the game very fast and then wanted to make it for myself. It took approxiametly 1000 lines of code, but I definitely could have shortned it (my board printer algorithm). This project helped me become more proficient in C++ and its capabilities with classes.

Tetris

March 2024 - April 2024

It's Tetris! In reality, this game took me a few days to complete it's just coincidentally, the new month was starting as I was finishing the game. To make the game very immersive and dynamic I used concurrency so that I could run two strings at once. One to take in user input and the other to run the flow of the game. I think the way I implemented the game was very clever with how everything was organized. You can go read the code for yourself but basically it was a 2d array with objects. Figures are what I called the 4-piece blocks which are made of blocks (which I called blocks in my header file). This way blocks could be added to my array as the tetris figures fell. The thing that took me the most time figuring out was taking user input without the need for the user to press enter everytime they wanted to make a move. Some depreciated functions made it so that I had to figure that part out for myself. Prior to making this project, I had no idea about strings in coding and that they were a thing. Now that I think about it, it makes a lot of sense that that is possible considering how many other games would have to be implemented. You can find the source code on my github by clicking here.

Professor Website

Janurary 2024 - Present

This is a website I created for a biology professor at Dalhousie University. I created the website using only html, css and javascript. Prior to creating this website, I followed a 2 hour tutorial on creating a personal portfolio. Other than that, I have never done any html, css or javascript. I believe this experience really shows my skill of learning quickly considering how fast I had learned how to make something like this. As of now, this website is up and running and is linked on the professor's university profile here, or you could see it directly by clicking on the project title.

LOL Queue Accepter

November 2023

This is an extremely small project that I wrote after attending a hackathon. The main focus of the hackathon was machine vision. It was the Toyota Innovation Challenge. I wrote the code using python. The reasoning for this was to automatically accept my League of Legends queue pops so that I would not have to be at my computer while waiting for a game. Although this project was very small and took only a few hours, it introduced me to a lot of the capabilities of a few python libraries and the coding langauge itself. I cannot stress how much time this program has saved me.

Exploring Satellite Orbits

December 2022 - Janurary 2023

This is a primarily a math project but was inspired by my passion for physics. In a nutshell, I used math to determine what time of day I would be closest to a specified satellite if I were to be in Colombo, Sri Lanka. I created this project mid-way through my grade 12 year. I used an overly precise method taking in all accounts of where distance could be altered making my calculations probably on target by mere meter. I probably over documented the calcualtions and reasoning so it may be a bit too much to read but if you would like, it is linked to the title of this project.

Tic Tac Toe

May 2024

This is a small project that was made within an hour or so. I made this for a job application. I think it is relevant to put it here to further show my proficiecy in C++.