This page lists some of the interesting projects I have worked on! For a more complete list and source code you should check out my GitHub profile.


May 20, 2019

This is a password manager web app, created with Golang and React. It uses client-side and server-side AES encryption.

GitHub Try It


December 27, 2016

This is a full text index written in JavaScript. The index is based on suffix trees. It is published to npm under the name "rekall".

GitHub View on NPM

Document Retrieval with Wildcards

August 26, 2016

For my computer science honours project, I researched a topic in algorithms and data structures. I explored how to extend classic document retrieval problems to support patterns containing wildcards. The project involved succinct data structures, text indexing, suffix trees, document retrieval, and colored range reporting.

View Paper

Task Bird

April 1, 2016

Task Bird is an awesome task management and productivity app created with Django and AngularJS. You can create tasks, events, and projects. Tracking your productivity is easy with lots of filtering options, useful analytics, and reports.

GitHub Try It

Python Web Framework

May 28, 2015

I wrote a web MVC framework in Python. It is currently used by this website! It includes my own template system, a very simple ORM and a Markdown parser for my blog. I did this primarily to learn about how these things work.

GitHub Try It


December 1, 2014

This is an online calculator that evaluates simple expressions as you type them. It supports addition, subtraction, multiplication, division, and exponentiation. The expression is converted into postfix form before it is evaluated.

GitHub Try It

Space Defender

August 13, 2013

This is a retro arcade style space shooter game with vector graphics. It was created with HTML5 and JavaScript. Fly through space destroying alien space ships! Survive as long as you can. Play against a friend in two player mode!

GitHub Try It

Avoid The Shapes

June 30, 2013

This is a simple yet fun web game created with HTML5 and JavaScript. The player controls a yellow circle and must avoid touching the other shapes. The longer the player survives the higher his score.

GitHub Try It