Projects


Rocket League Story Mode
Added Story Mode to Rocket League

RLBot is a framework to create and play against custom bots. I was able to leverage the framework to create a story mode where you play against bots to take over cities. As you win, you can recruit teammates and purchase upgrades! The features was merged back into the RLBotGUI which is the main way of playing against community bots.


eslint-plugin-json
ESLint plugin to lint JSON

ESLint doesn’t natively support linting JSON. So this plugin hacks around the plugin system to support JSON parsing.


Rocket League: Invisibot
Invisible Rocket League bot

Invisibot is Rocket League bot based on Kamael. It is able to go invisible when far away and suddenly appears when it is near the ball or a player.


RBGnRGB
Game where you play as RBG

RBGnRGB is a fun browser game we made for the Github Game month. The game is built using the Phaser framework.

You play as RBG and try to destroy monsters by matching their RGB values.


Blender Addon: Add Outline
Add Outline effect in Blender

The addon allows you to add NPR/Cartoonish outlines in one click.

Unlike Blender’s Freestyle feature, this method works in Eevee as well as Cycles engine.


Math Square: Vortexpool
Vortex simulator at MoMath

MoMath is the National Museum of Mathematics and they have a yearly hackathon where people make exhibits using their SDKs. One of the SDK’s allows you to control the giant touch screen on the floor that kids are usually running around on.

Our entry, Vortexpool, came in second in the hackathon. It simulates a vortex for each person it detects on the floor. The link takes you to a demo in the browser (click to create a vortex and click again to remove it)! Its a bit laggy on mobile so try it on a computer!


Supreme Court Transcripts
Auto-updated archive of Supreme Court argument transcripts

Supreme Court Transcripts was an existing archive of transcripts of arguments of the Court. The archive was generated through some undocumented scraping process.

To keep this archive updated, I wrote a script to update the existing archive and configured it to run via GitHub actions.


Python AST Preview
VSCode Extension

Python AST Preview is a VSCode extension that lets you see the AST of the Python file you are working on!


Sour16
Toy version of the Sweet32 attack

Sweet32 is a birthday attack which exploits encryption algorithms with small block sizes. Sour16 is a toy version that exploits the same attack for block sizes from 8-40 bits.


sealnote-flaskr
Encrypted personal journal

A flask based journaling website backed by a sqlite/sqlcipher databse. The database matches layout of the sealnote android application so data can be imported/exported from the android app. The project has been archived since the android app has been archived as well.


yubitoggle-applet
Disable/enable yubikeys via an app indicator

yubitoggle-applet adds an app icon in your taskbar to quickly check the status and toggle your yubikey on/off. Tested on Ubuntu but should work on other Linux OS too.

It uses yubitoggle to actually toggle the state of the yubikey.


Lpaid
Personal Plaid-based money tracker

With the increasing number of accounts with banks/credit cards, I was finding it difficult to keep track of all my accounts. I tried Mint, Quicken and GNUCash but I had issues with all of them.

So I made Lpaid to help me keep track of it! Its a node application that uses Plaid to interact with banks and uses sqlite to store the data locally. The README on github has more info on the project!