I’m a software engineering student at the University of Waterloo.

I have a bunch of projects on GitHub. You can read some project summaries in the Things I’ve done section below.

You can email me at charles@zinn.ca.

Things I do

I solve problems on Project Euler. At the time of writing, I am 11th in Canada and 1064th worldwide.

I speak Esperanto (Mi parolas Esperanton)! I’ve also resumed studying Lojban (.i mi di’a tadni lo jbobau). I also took a weekend and learned Toki Pona (mi kama sona e toki pona). I like conlangs.

Things I’ve done


I made Fortuit with neynt at PennApps Winter 2015. Fortuit was inspired by something called overconfidence bias: when we make predictions about the future, we tend to be really optimistic. Fortuit aims to improve prediction-making by letting you track your predictions. This allows you calibrate your predictions and form a more accurate mental model of your mental model of the world.

Try using Fortuit! You can test out the friends feature by adding charles. You can also view the source code in the Fortuit GitHub repo.


Mafia is a popular party game. A small number of players are the mafia, and their goal is to eliminate all villagers. The villagers can vote to lynch people, but they risk lynching one of their own number. Some villagers have special powers. When played in real life, a game master is required to faciliate interactions, and they can’t play in the game themselves.

I created a simple, minimalistic web app that takes the place of a game master. There are existing websites that do this, but they overcomplicate things with variations and accounts. Plus, it was a fun way to test out some web technologies like AngularJS and Socket.io.

You can view the source code in the Mafia GitHub repo.


The computer science club at my high school ran a two-week long idle game challenge. An idle game is a game in which most of your time is spent waiting; a perfect example is Cookie Clicker.

My project was Depnunkei, a stock-trading game written in HTML5 and JavaScript. The stocks are unique and randomly generated each game, and more enter the market as companies go bankrupt.

Try playing Depnunkei and see how much money you can make. You can also view the source code in the Depnunkei GitHub repo.


Condi was my entry to a casual 7DRL (7-day roguelike) among some friends. Condi features random dungeon generation, randomly generated items with special effects, and absolutely no balance. The dungeons gradually get harder as your character gains levels.

You can view the source code in the Condi GitHub repo.