Open Source and Personal Projects

This is a list of notable open source projects, demos, and personal projects I’ve worked on over the years. Most of my personal projects are one-offs and aren’t actively maintained. This list is non-comprehensive and is a showcase of the projects I consider the most interesting and relevant.

Open Source Contributions

Wikimedia

I’ve made several contributions to Wikimedia projects, primarily to extensions but also other related community projects. Some notable contributions include the following:

Demos

Ginger

A picture of an animated 3D head of a woman with an open mouth next to a control panel that
allows the user to manipulate her facial expressions.

A very long time ago when I joined Stickman Ventures they had an early WebGL demo hosted on Chrome Experiments named Ginger that utilized morph targets with three.js. I didn’t work on the initial implementation, however at some point we determined that we wanted to open source the demo. Before doing so it was determined that we would modernize it and make some performance improvements, and so I was tasked to help with that.

If you want to learn more about the refactor, read my post about it!

Ginger is currently available here if you want to try it out. The original URL used by Chrome Experiments is no longer active. You can find the source code on GitHub. It’s licensed under the Apache-2.0 license and the model assets are owned by David Steele (CC BY-NC 4.0).

Personal Projects

Lorewalker Cho

Lorewalker Cho is a fully functional Discord bot that plays games where it asks trivia questions related to the game World of Warcraft. The bot is written in Python 3 and uses the wonderful discord.py library and uses PostgreSQL as a backend for storing Discord server configurations and scoreboards.

It supports the following features:

I don’t currently have this bot hosted anywhere since I’m not actively using it on any of my servers at the moment. You will probably have to update discord.py to be able to use it since I’m sure Discord has made some breaking changes since I’ve last used this.

jamiekuppens.com

jamiekuppens.com is the website that you’re on right now! It was created with Astro and it uses a custom theme designed by myself. This website was designed to be as small and fast as possible.

Previously this website was written in Hugo, which I still adore, but I much prefer using JSX for customizing my site instead of templates.

Google Calendar Discord Syncer

Google Calendar Discord Syncer is an interactive CLI application written in Python that syncs Google calendar events to a Discord server channel using embeds. I wrote this a long time ago when Discord didn’t support events yet so that I could have nice looking signup posts for World of Warcraft raids events in my guild.

The other reason why I wrote this tool was because I got tired of copy-pasting event posts and adjusting the times in them two times a week. However, I’ve since replaced it with Raid Helper since it supports scheduling event posts while also automatically changing the date.

Notch

Notch is a CHIP-8 virtual machine written in Rust. I wrote it after getting interested in emulation from the Ferris Makes Emulators stream. It has worked with all games I threw at it so far, but can use a little polishing and refactoring.