Recent posts


Quoridor is an abstract game where both players compete to move their token to the opposite side of the board first. Each turn, players may either move or pl...


Codenames GPT is a simple word-guessing game based on the rules of Codenames Duet. The user plays cooperatively with the computer to guess the 15 hidden word...


FuzzDotNet is a tool for .NET which enables fuzzing to be used alongside unit tests.

Rommmate Predictor

Roommate Predictor is an AI which predicts the author of my roommate’s text messages.


Digits is an android app designed to make engineering and scientific calculations easier.


DogEars is a low-cost ADC for the BeagleBone designed for use in sonar applications.


FPGA Pong is an implementation of Breakout for a Cyclone V FPGA. It implements both the game logic and 3-bit color VGA display drivers.

Checkers AI

Checkers AI is a program which can play checkers against a human. It has a simple UI and an AI to play against named Steven.


Emergence is an RTS game developed in 48 hours for Ludum Dare 30, Theme: Connected Worlds.


Stars is an android live wallpaper that uses parallax to create depth among a bunch of small stars.


Scoutr is an android app designed to help record information about other team’s FRC robots.


LaunchChord is an application which allows a Novation Launchpad to function as a grid keyboard for a synthesizer/DAW.

Arbor Vitae

Arbor Vitae, meaning tree of life in latin, is an image generator aimed at generating trees.

Tiny Boxes

Tiny Boxes is a puzzle game made in python over 48 hours for Ludum Dare 23, Theme: Small World


Conway is an implementation of the Game of Life as proposed by John Conway. It was written in python using pygame.

Calculator Hero

Calculator Hero is a rhythm game made for the TI-83 graphing calculator.


Ask is a plugin designed to allow admins of busy servers to help more people.


Camels is an game created for a science class, which simulates evolution on a small population of camels.

Hello World

This is the first program I wrote.