Projects

Flyntlok Moves Application (2022 Summer Internship)

  • Started the development process by speaking with the customers on what they need. Brainstormed multiple ideas for how the legacy system should be changed, and came up with the modified redesigned Trip system from the old Truckload system. Showed customers the design first created in balsamiq, and then figma.
  • Completely recreated the frontend of the app, using Typescript and React.js to create the mobile page with custom react components.
  • Re-created much of the backend of the app. Designed it using a Domain Driven Design structure, using the Trips/Moves as one domain, machines in another domain, MoveLocation in another domain, etc.
  • Used the repo and aggregate pattern for the business logic in the backend. The repo is the translator that talks to SQL with the direct database calls, and translates them into a trip class following a tripDTO interface. The repo is with the get and save methods allows you to get the formatted data, and then save it. Then the aggregate is what allows you to change the data safely with specially written public methods before saving it again.

Destiny, Too (CS50 Final Project)

As a freshman, myself and my partner built a website called “Destiny, Too” for the purpose of showcasing your characters’ statistics from the video game Destiny 2, by querying the Bungie API. This website was built on a python backend and it unfortunately is only live when running in the CS50 IDE. Embedded below is our team’s final video showcasing the website’s functionality:

Automatic Differentiation Package (CS107 Final Project)

As a junior, my team of myself and three other members created a python package available for download on PyPI (under cs107-team38-ad), which allows the user to find the derivative of any mathematical function (single or multiple variable, single or multiple dimension) using both forward and reverse modes. A detailed description can be found in this GitHub repository under docs/documentation.ipynb.

Additionally, our team put together a video describing automatic differentiation and how our package works:

Torchlight (CS175 Final Project)

As a junior, I made a game in unity called Torchlight in Unity, with C# functions. It was originally intended to be an infinite runner game, and it still mostly follows that idea, but I scrapped the idea of constantly moving the character forwards and replaced it with a “fading light” mechanic where the illumination of the level is constantly decreasing and powerups must be picked up to replenish it and thereby extend the run. The levels are composed of five parts which infinitely append to each other until the player dies. The code for this game can be found in this GitHub repository, and the writeup is under CS175 Final Project Write-up.pdf.

A video of a playthrough of the game can be found below:

Harvard Yale Prediction Market (CS136 Final Project)

As a sophomore, myself and two teammates ran a simulated prediction market in Python on the 2020 Harvard vs Yale football game, trying to simulate users’ predictions as different data came into the game. We had multiple kinds of bidders, each with different bidding strategies, and we analyzed how each bidder changed their bids over the course of the game. The writeup for this project can be found here.

Minecraft Kit PVP Datapack (Hobby project)

Finally, my personal pet project, and the thing that likely introduced me to computer science, is creating Minecraft datapacks. The most recent one, still a work in progress, is a pack in which there are certain elemental-themed “kits” which players may select, and can then wield their abilities against other players in combat. Kits range from granting the ability to fly, to levitating enemies with telekenesis, to stopping time, to throwing fireballs and creating ice walls. The world with this datapack installed I currently have saved in this GitHub repository, with most of the relevant functions being found under the datapacks/kitpvp path.