Here are some cool things I've made over the past few years.

Completed/Released Projects

Framework for compiling and injecting new assembly, C and C++ code into GameCube and Wii games.
Telegram Bot @DittySongBot
Inline bot that takes text you input and passes it through the back-end API used by the Ditty app to turn it into a song. The result is transcoded using ffmpeg and sent to Telegram as a voice message.
Telegram Bot @PatterBot
Inline bot that takes text you input and sends it through the CereVoice Scottish text-to-speech voices. The result is sent to Telegram as a voice message.

Try it: type @PatterBot something into a conversation, but don't press Send, wait for the menu to come up, then select a voice.

Telegram Bot @NutButtonBot
Inline bot that takes text you input and superimposes it onto the "NUT" button meme. The result is sent to Telegram. button with shitpost on it
Twitter Bot @EveryNutButton
Posts a NUT button with a random word on it, every two hours.
Tweet text at this bot and it will reply with an AESTHETIC image containing that text. example of capslockbot
Twitter Bot @ClipArtBot
Tweet an image at this bot and it will add random clipart to it and send it back to you. example of clipartbot
Twitter Bot @BestOpinionPoll
Posts four random Twitter polls every day with items and topics selected from Wikipedia categories.
Twitter Bot @jean_things
Posts a random jeans-based portmanteau (jortmanteau) every three hours.
Twitter Bot @1f44f_bot
Tweets random things to get REALLY 👏 ANGRY 👏 ABOUT. Sometimes random sentences from Wikipedia, sometimes just random combinations of words.
Reggie! Level Editor
A cross-platform graphical level editor for New Super Mario Bros. Wii, developed by Tempus and I using PyQt4 in 2009.
Newer Super Mario Bros. Wii
Unofficial sequel to New Super Mario Bros. Wii, created as a very extensive patch to the original game. Developed by myself (lead programmer) and some other fans from around the world.
Ruby library with a simple DSL for creating interactive bots for Furcadia.
JavaScript library that wraps libTiMidity (transpiled to JS via Emscripten) to allow MIDI synthesis in web pages and playback through the WebAudio API.
2048 for GBA
A homebrew recreation of 2048 for the Game Boy Advance.

Abandoned/Unfinished Projects

bitBoard (2013)
Old-school-style lightweight forum software, loosely inspired by AcmlmBoard. Written using Python, Flask and SQLAlchemy.
Bees! (2014)
My own take on an online version of Cards Against Humanity. Written using Node.js and jQuery.
LayoutStudio (2010-2012)
Graphical viewer and editor for UI layout files generated by NintendoWare on the Wii (.brlyt/.brlan). Written using C++ and Qt.
NW4RTools (2011-2012)
C# library and tools for working with 3D models and animations generated by NintendoWare on the Wii (.brres).
CMap (2012-2013)
Third-party map editor for Furcadia. Cross-platform, written with C++/Qt 5.
VulpIRC (2013-2014)
IRC bouncer using a custom mobile-friendly protocol for clients, with an Android client.
MarioUnmaker (2015)
Viewer for level files extracted from Super Mario Maker on Wii U.
ArchBreaker (2016)
Tool for accessing the Miitomo API, spoofing the game client's authentication process and modifying the player's inventory.