I've made a bunch of projects since I picked up computing as a hobby, most of which are toys or uni projects. I intend to fill this out with some more serious projects that I intend on people using.
Note that this isn't really meant to be a CV, or display what I've learned or proven from each one. If you want that, I'd suggest looking at my resume
This was for the Computer Graphics module at university.
It's a softwarer rasterizer and raytracer in C++ with working shadows, mirrors, and OBJ model loading.
I did this back in 2024 for the Computer Science Society's annual 24-hour hackathon.
This is an embedded wearable that connects over Wi-Fi to a GTK4+Python app to act as a buzzing medication tracker.
High-performance fluid simulator
For my High Performance Computing unit, the uni provided me with basic code for an LBM fluid simulator solver.
I made it ~300x faster using a mixture of vectorisation, OpenMP, MPI, and tears.
This is a toy compiler that converts an infix notation mathematical expression into x86 assembly.
I wanted this to be an experiment with register allocation schemes, so it uses Sethi-Ullman register allocation!
It was also my first experiment with Zig as a language. I find it OK.
When I was a bored kid at school in 2022, I thought it would be fun to give my friends access to Discord in class through a bridge.
I used a Discord bot to hoover up all the messages into MongoDB, then provide an Angular web view into these messages authenticated behind an accounts system.
The user can even send messages (which are sent by the bot).
I'm hoping to take what I've learned from this to take a stab at packaging Typst as well.