I decided to learn how to create an animation loop for canvas games that supports multiple sprites (moving characters and other elements) and also reacts to user input. This typescript game loop example uses the “W”, “A”, “S”, and “D” keys to move the player character through the many intimidating […]

Animated Game Sprites: an HTML5 Canvas and Typescript Test




I led a team that created a multiplayer online clone of the card game Love Letter. We called our version Crush Note. The game can be played with 2 to 4 players. For development purposes we often had to test the game on a single machine. The trick was using […]

Multiplayer game: Crush Note, 2017


I created a website that was a slice of my favorite experiences on social media – adorable pet pictures! Using r/aww and related subreddits, I created a scraper of joy. Welcome to cute animals forever! This app uses a MongoDB database and Mongoose to interface with it. It is hosted on […]

Scraper: Reddit Image App, 2017



Using Bootstrap as the design framework, this timed quiz was good practice for working with JavaScript timing events. Figuring out how to dynamically change a progress bar using JavaScript and CSS was really fun too!

Timed Quiz: Animal Groups, 2017


Typing is the primary user interface in this app. Embedding Giphy images really brings Birb Hangman to life. Working on this project highlighted the difficulty of handling both desktop and mobile keyboard inputs in a single app.

Typing Game: Birb Hangman, 2017



This web app randomly displays story inspiration cards, based stylistically on Tarot or Oracle cards. When telling a story, either in a group game or a solo context, sometimes a little inspiration is all you need to get past writer’s block. Uncertain who walks through the door, what a character sees […]

Web App: RPG Story Inspiration Cards, 2016


A choose-your-own-adventure science fiction game. Buy, sell, travel. This has a graph view of all possible events that was primarily for development purposes, but it’s so cool I left a button to show it off!

Game: Space Merchant, 2016