Afterlight Caves

As a personal project I worked with two other students to develop a procedurally generated, top-down twinstick shooter game for the web. We wrote the whole engine and all game logic from scratch using pure JavaScript and no external dependencies. Its graphics are all created procedurally using the HTML canvas API. The game, called Afterlight Caves was selected to be presented at the WPI booth at PAX East 2020. You can read about how we made it here, or play it online now.

Kyoto AR Tour Guide App

From July to October 2019 I worked on my Major Qualifying Project at Ritsumeikan University in Kyoto, Japan. For this project I worked with two other WPI students to build a mobile app with Unity and Vuforia to deliver custom augmented reality audio tours at a historic location in Kyoto. We also built a web application with Node.js for graphically designing these tours. You can read more about this project here.

Traffic Classifier

This project, for CS 4516: Advanced Computer Networks, uses a TinyCore GNU/Linux virtual machine configured as a gateway for an Android 6.0 virtual machine to classify encrypted network flows. The gateway uses machine learning to determine which application network flows originated from in real-time, despite not knowing anything about the packet payload's contents. Read about it here or see the source code here.

Hong Kong Historic Conservation

I spent two months in early 2019 in Hong Kong working on a historic conservation project with the Institute for Sustainable Urbanisation and Chinese University of Hong Kong. This was my Interactive Qualifying Project for WPI, a graduation requirement that many students complete in off-campus project centers around the world. I made a website to promote the cultural precinct in Hong Kong's Central District. Click here to learn more about what I did in "Asia's World City."

Algol Meeting Scheduler

The Algol Meeting Scheduler is a web application for scheduling meetings with multiple participants over long periods of time. For this project I led a team of four for the WPI class CS 3733: Software Engineering. You can read about it here, or see the live version of the site here.

This Website

This website ( is a personal project I put together to teach myself HTML, CSS, and JavaScript. It also serves as a showcase for my various projects, both for school and for fun. The website has been under development for almost a year, and has undergone many changes in that time. To see more about my process, click here.


Greetings Professor Falken. Just for fun I wrote a program in JavaScript that uses the MiniMax algorithm to play Tic-Tac-Toe. On this page you can play a game against your own computer to see who is victorious. You can even choose who gets to go first.

Other Projects

Process Statistics

For CS 3013: Operating Systems I created a C program that gather information about the execution of arbitrary processes. You can ues it to execute a single command, or in an interactive shell mode. Either way, it forks off a child process to run the input command, then prints out statistics about it including system time, wall clock time, and number of context switches. To learn more and see how it works, click here.

HTTP Server & Client

For CS 3516: Computer Networks I created a simple HTTP client and server in C. To learn more, and download it for yourself, click here.