Home GitHub Publications


I am a medical student at the Max Rady College of Medicine (Class of 2024). I have a B.Sc. in Computer Science with a specialization in artificial intelligence and a minor in theatre.


Prior to studying medicine I wrote C# and ReactJS for Permission Click.

I have a decade of experience crunching data in Matlab, and I've made contributions to the Julia language's base library.

I'm also one of the developers behind Help Next Door, a volunteer matching platform developed to help Manitobans during the COVID-19 pandemic, B2B Manitoba, which aids Manitoba businesses in finding PPE to protect their workers, and Student Jobs MB, which allows students to submit job applications to employers in Manitoba.


Think Goodreads, but for video games.

A web application written in Python (Flask) and Javascript (JQuery) that integrates with Giantbomb's excellent API.


An expense-tracking application.

A web application written in Python (Flask) and Javascript (JQuery) that tracks current, future, and recurring expenses. It also does automatic currency conversion. This was written with my specific use-case in mind, because I was tired of wrestling with scripting in Google Sheets.


A simple terminal RSS feed reader.

tread has most of the basic features you would expect from a feed reader, including read/unread tracking and starred items. It even supports displaying images via imgii. It's also fairly configurable.

Since it's available on PyPI, the easiest way to install tread is with pip3 install tread. The source code, along with the readme and some basic usage instructions, is available on GitHub. (But the code is awful, and you don't want to look at it too closely.)

Because of some esoteric requirements of curses, tread requires Python 3.5 and does not run natively on Windows. (Though I haven't tested it on recent versions of WSL.)


A Python package that converts images to ASCII.

imgii makes it relatively straightforward for a user or a Python script to convert images to ASCII. Both local and remote images are supported, and there is some basic colour support, too.

Since it's available on PyPI, the easiest way to install imgii is with pip install imgii. The source is available on GitHub.

Web Apps

I have a bad habit of writing web apps willy-nilly. In addition to Goodplays and Expenses above, I've also written Flask applications for voting in a poll, downloading files using limited-use download codes, and running a tournament (Swiss system), to name only a few.

While I try to consider the probable use cases of others, these projects are typically written with my specific needs in mind, so their general usability may be suspect. But if you decide to run one anyway and you're having trouble configuring your sever (especially if you want to run multiple applications at once), I wrote a blog post explaining how you can get Flask, uWSGI, and Nginx working together. I'm also happy to answer questions.


I participated in 2019's National Novel Generation Month, which challenges programmers to write code that that writes a 50,000 word novel. My entry generates a Spellbook with a short frame story.

Some sample output:

200 Word RPG

I participated in the 2017 200 Word RPG Challenge to design a role-playing game using 200 words or fewer. I submitted a collaborative storytelling game called Captain's Table.