A wallet on a table.

Materializer Wallet

Electronics project to build a gimmicked wallet for magic tricks. Objects appear and disappear even with no one touching it.

A screenshot of software showing colored boxes connected by lines.


Cloud-based visual programming tool I designed to integrate with Hexagram's Saga platform. Used to build chatbots for client projects.

Subtext logo.


Largest project I've done in a long time. Subtext is an online puzzle game that plays out through real SMS messages, phone calls, emails, etc. Some players will even receive items in the mail.

Unlisted logo.


A tool for magicians that allows a chosen card to be revealed with a borrowed phone. Backend API uses AWS CloudFront + Lambda to ensure scalability.

Screenshot of Hex Plus.


Modern implementation of a 1940s board game, made along with my brother Robert, who loves Hex but could never find a good site for real-time play. I did the design, frontend, and some of the backend, he wrote the rest of the backend and dealt with server administration.

Screenshot of iFlood website.


Webapp for the George Mason University Flood Hazards Research Lab that I built for my high school senior mentorship project. The site collects and visualizes data from the lab's various forecast systems, and sends users custom flood alerts by SMS or email.

Screenshot of Power Stationed.

Power Stationed

Multitasking crossed with an idler. Made from scratch in 48 hours for Ludum Dare 39.

Grayscale logo.


Online ARG about my high school. Uses a chrome extension to insert fictional websites into search results for plot-related terms, blurring the line between fiction and reality. (Grayscale is no longer operating as of 2018)

The Box logo.


Riddle-solving piece-sliding puzzle game made from scratch in 48 hours for Ludum Dare 36. Will you discover an ancient secret? Or just discover that you're bad at slide puzzles?

Misconnect logo.


Action-puzzler where you draw paths to connect colored nodes. Each path will need to bend and contort to avoid overhanging the last. What are you connecting? Subway lines? Pipes of... paint? No idea, but hopefully they look cool.

The Rotator logo.

The Rotator

Action game where you must react quickly to dodge red arcs and collect blue ones. You'll need to be careful, because the entire game is on a wheel and it might roll right off the screen.

Hyper Zoid logo.

Hyper ZOID

The sequel to ZOID, this time made in Unity. Get to 60 seconds to unlock hyper mode and really turn things up to eleventeen. The mobile version also has a new two player mode.

Zoid logo.


An arcade style bat-and-ball game with a twist or two. Or three. Or four. It's just bouncing a ball against a wall. How hard could it be? As it turns out, quite hard, as the game will make like a bucking bull and try anything and everything to shake you off.

Flashlit logo.


Mazes are easy, when the lights are on. But that's not the situation you find yourself in, is it? Having a flashlight certainly helps, but those cheap off-brand batteries you bought aren't doing you any favors. The slightest bump will short them out, so you better be careful if you want to see where you're going. Besides, the light is the only thing keeping HIM away.

Screenshot of Carol Morgan's website.

Website for Carol Morgan, artist of drawing, sculpture, watercolor, and collage. Meant to have a classy museum feel. The grids of images always stay proportional and equal width, regardless of the size of the screen or the aspect ratio of the images.

Screenshot of Geri Gordon's website.

Website for Geri Gordon to showcase her oil paintings (mostly landscapes). Uses Masonry and Photoswipe for the gallery. No longer live at the original domain but I host an archived copy.

Screenshot of my site.

As you might have guessed, I made my own website. It's entirely static, using Sass and EJS that are compiled by Harp and served by S3 and CloudFront.