I've been programming for fun since middle school, and in addition to the collection of assorted games I have listed, I have also worked on many other personal projects. Here is a selection of them.

Please note that the contents of all off-site links, including but not limited to the domain, are not covered under the Creative Commons and GNU licenses that govern this website.


Flourish - The Game

The gameA screenshot from the game

Ages after Homo sapiens abandoned an exhausted Terra, life has just begun to reclaim its place on the surface. With limited resources, sunlight, and space, spread roots and grow towards the sky to become the last plant standing.

A game on which I was software lead, built for the Introduction to Game Design course at Cornell University. Created over the course of a semester in a team of seven, built in Java using LibGDX.

Won the Faculty Choice Award at Cornell's Bits on Our Minds 2019 annual student project showcase, won the Audience Choice Award at the Cornell University Game Design Institute's 2019 showcase, and was accepted to the digital showcase at Boston FIG 2019.

Flourish Logo Learn More

Samwise - A Student Planner for Everyone

Samwise project overviewA typical week plan

A homework and project planner designed to help students plan their schedules and reduce stress. Integrates with Cornell registrar data to automatically import exams, as well as with Canvas to automatically import and update assignment deadlines and details.

A web app on which I am currently technical product manager after originally joining as a frontend developer. Built with React and runs on Firebase. Launched in early 2019 to over 200 users.

A project by the Cornell Design & Tech Initiative.

Samwise Logo VisitDTI Logo GitHub Repo

Cornell Roosevelt Institute Website

CU Roosevelt Home PageThe admin console from the website

Web site and management system designed for a student-run think tank. Included a public-facing website and a back-end content management system, built with Node.JS and Express, backed by MySQL.

CU Roosevelt Logo Visit


Ultimate Tic-Tac-Toe

A game of Ultimate Tic-Tac-ToeA game of Ultimate Tic-Tac-Toe versus my AI

A remake of a personal project I originally wrote for my site in 9th grade, Ultimate Tic-Tac-Toe is a variant of the classic Tic-Tac-Toe with a drastically expanded rule set that allows for significantly more strategy (see here for rules). My remake is responsive to many more screen sizes, improves the multiplayer experience, and introduces an AI to play against in single player.

The online multiplayer offers real-time multiplayer between two clients on different machines using Socket.IO. Communication between devices is handled by a Socket.IO Node server I'm running on a free Azure instance.

The AI is powered by a Monte-Carlo Tree Search. On hard, the algorithm runs for 5 seconds (one on medium), so difficulty depends on the machine you play on. I managed to beat the AI on my phone once; so far, no luck on my laptop.

Tic-Tac-Toe Ultimate Tic-Tac-Toe

OCaml Tetris

The gameA screenshot from the game

A midterm project created in a team of four for our functional programming class. Written entirely in OCaml, with the strict limitation that only system libraries and OCaml standard library functions may be used. As such, we were unable to use any async libraries, graphics packages, input libraries, and more. Much effort was spent just figuring out how (if it was even possible) to get unbuffered keyboard input while a background timer ran the game.

For reasons of academic integrity, the source code is not available online, but we did make a joke trailer for the game.

Tetris Logo (Joke) Trailer

Online Multiplayer Games

A screenshot from Bringing Down the LandlordA screenshot from Tianjin Mahjong

A series of online multiplayer games powered by Node.js and Socket.IO on the backend, allowing multiple player to simultaneously connect to each other on their own devices over the internet to play against each other.

Includes a variant of Mahjong from the Chinese city of Tianjin and a Chinese card game I'm translating as Bringing Down the Landlord.

A black jack playing card Bringing Down the LandlordA mahjong tile Tianjin Mahjong

High School

Attendance System

The generated QR codeScanning the QR code

Web app utilizing time-dependent QR codes to allow members of an organization to quickly and seamlessly check in to a meeting by scanning their phones, while eliminating the possibility of forging another member’s code. Was eventually integrated into the club management dashboard.

A QR code Demo

Club Management Dashboard

AKTSA Dashboard Home PageThe admin console from the website

Web-based management portal built in PHP and MySQL for student members of a club. Streamlined club management and allowed more scalable management techniques as the population of the school and club ballooned to over a hundred students.

AK Logo Demo

AK Technology Student Association Website

AKTSA home page, circa 2015AKTSA member page, circa 2016

Website for the Ardrey Kell High School Technology Student Association club. The current site is no longer under my control, and may have changed since.

AK Logo Current Site2016 - 2017 Archive2015 - 2016 Archive

Augmented Reality Website

Home PageA page from the website

Senior Year

Website created for a Technology Student Association competition. The task was to design and launch a website that would teach people about augmented reality. Won 2nd place at the TSA 2017 national conference.

Futuristic background Visit

Drones Website

Home PageA page from the website

Junior Year

Website created for a Technology Student Association competition. The task was to design and launch a website that would teach people about drones. Won 5th place at the TSA 2016 national conference.

A drone Visit

The Quest For Sticktopia

The gameA screenshot from the game

Sophomore Year

A Flash game made for Civics and Economics intended to teach the Bill of Rights to kids.

A stick figure Play

Dihybrid Cross Solver

Freshman Year

Solved dihybrid crosses for Honors Biology. Included calculating genotype ratios.

According to my Google Search Console, this is apparently the most trafficked page on my site, due in large part to it being the second Google search result for "dihybrid cross maker". As such, I've since gone back and remade it to be a bit nicer and fleshed out. For historical reasons, the original is still available as well.

Visit OriginalVisit New

Older, non-programming related projects can be found here.