Games & Mods

The Ump Show

Game that lets you be a Baseball Umpire, 2023

Since everyone dreams of being the baseball umpire, The Ump Show lets you fulfill that fantasy. Your job is to call an accurate game while making sure your favorite team wins!

Rocket League Story Mode

Added Story Mode to Rocket League, 2020

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!

RBGnRGB

Game where you play as RBG, 2018

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.

Math Square: Vortexpool

Vortex simulator at MoMath, 2018

Vortexpool is a vortex simulator created for MoMath, the National Museum of Mathematics, during their annual hackathon. The project came in second place. Try in the browser to create and remove vortices with a click.

Rocket League: Invisibot

Invisible Rocket League bot, 2020

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.

Airbent

Prototype game where you play as a windmill, 2018

As a windmill you can climb obstacles and also hit exploding balls using the windmill arms.

Development & Graphics Tools

eslint-plugin-json

ESLint plugin to lint JSON, 2017

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

Blender Addon: Add Outline

Add Outline effect in Blender, 2020

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.

Fontanelle

Font manager to install Google fonts locally, 2025

A local font manager that lets you install Google Fonts.

Python AST Preview

VSCode Extension, 2019

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

Personal Tooling

Work Snapshots

Take screenshots every few mins and browse your work sessions, 2024

I built this so I could have a fun record of my progress through my side projects. Though, it has also turned out to be useful in tracking the time I spend on different projects.

Today in Git

Highlight git contributions you made on this date in previous years!

CLI tool to help you discover your code contributions in the past. Uses GitHub’s APIs via the gh cli tool.

Vigorish

Prototype webapp to make and track personal wagers, 2022

Pancakes

Android app to load StackExchange's top questions in a mobile-friendly view, 2021

yubitoggle-applet

Disable/enable yubikeys via an app indicator, 2018

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.

sealnote-flaskr

Encrypted personal journal, 2017

A flask based journaling website backed by a sqlite/sqlcipher databse.

Lpaid

Personal Plaid-based money tracker, 2017

Lpaid is a personal finance tracker built as a Node application that uses Plaid to connect with your bank and credit card accounts, storing data locally with SQLite.

Others

Supreme Court Transcripts

Auto-updated archive of Supreme Court argument transcripts, 2019

Supreme Court Transcripts is an existing archive of transcripts of arguments of the Court. I helped automate the weekly archive updates.

Sour16

Toy version of the Sweet32 attack, 2017

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.