I have many projects in my portfolio. Many of them are open source, but some are commercial. Over time, I've gotten better at writing readme files that explain what a project does and how to run it.
Web Browser Extensions
Exercise Deck Builder - A web browser extension (Chrome and Firefox) for creating printable cards for building device-free exercises routines.
Applications
Localhost Podcast CLI - A CLI tool I developed to move audio and video media to the podcast playing on my phone. Creates an RSS feed of the media files and hosts them using a local webserver.
Shackle Shell - A replacement for Git Shell, which is more opinionated and has some commands like creating a new Git repo built in. This is also published on Crates.io.
Rusty Microphone - Signal processing to give real time feedback on music. Runs live on my website here.
QIF Preprocessor - QIF file preprocessor to decrease duplication when importing to gnucash. This is highly customized to my own use case. QIF files are a format that I can download my bank account transactions in, making it super simple to import my transactions into Gnucash. Unfortunately, Gnucash's automatic categorization is thrown off by the nonsense that is put in the 'description' field, including the date of the transaction and different shops in the same chain spelling their names differently.
Games
Nap Attack - A game about letting the pug sleep. Very much a work in progress, but runs both on desktop and in the web browser using WebAssembly.
Interactive Pacbot - A playable visualizer for the 2016 Entelect Challenge. Runs in the browser using PhasorJS.
RallyX - A clone of the arcade game RallyX. This was a university project I worked on in 2011, and I haven't tried to compile it since.
Libraries
South African ID Parser - A JavaScript library for parsing South African ID numbers. Can run both in the browser, for realtime feedback on forms, and in Node for server side validation. Also available on NPM.
Rust Git Hooks - A collection of Git hooks written in Rust.
Worthe Signals - Signal processing math implemented in Rust. This was a learning exercise on my side, and the code isn't intended for use in production systems.
Competitions and Challenges
Advent of Code - Solutions to the Advent of Code challenges. The Advent of Code is a programming advent calendar, with a new challenge each day leading up to Christmas. More details are available at http://adventofcode.com/.
Entelect Challenge - The Entelect Challenge is a yearly AI programming competition, where you write a bot to play a game against the other competitors' bots. More details are available at http://challenge.entelect.co.za/