Zumzu.dev
  • Home
  • Projects
  • 3D Printing
  • Competitions
  • Resume

  • Try some different colours!

Projects

  • > Stoneweft

    Online Game

    2026

    Javascript + Python + C

    Stoneweft is a turn taking game with an appeal similar to chess, it was a tangent project based on the combat rules of Stoneweaver. I wanted a way to play it online, with AI or against friends, and finally: here it is!

    Its fully configurable and server authoritative, running over websockets using Flasks SocketIO. The game itself is written in python, with the exception of the opponent AI, which is written as a C module to speed up Alpha-Beta pruning. It also has lots of nice QOL, like auto re-joining games if you accidentlly close the tab, and locally remembering your pre-game board!

    Shrug
  • > Social Distribution

    Web Project

    2026

    Django (python)

    SocialDistribution is a decentralized social networking platform, built from scratch with Django and plain HTML/CSS/JS as the main project for CMPUT404. Its essentially just a simpler implementation of Diaspora (the predecessor to Mastodon).

    It distributes follows, posts, comments, and likes across all connected nodes, and comes with a nice admin interface so its easy to manage!

    Shrug Shrug
  • > Responsive Gallery

    Android App

    2026

    Android Studio (java)

    A friend of mine wanted a gallery app that let them display art with th eir entire screen, like a dynamic picture frame while they work, but there werent any good options! So I opted to write them an entirely custom app instead, which reads the currently playing song and attempts to associate the art to specific kinds of music by keeping track of what art is skipped during what songs!

    Most control is done through swipe gestures, and its complete with a swipe-back style history, and import/export to combine data across devices!

    Shrug Shrug
  • > Blog Demo

    Pelican Webite

    2026

    Pelican (python)

    This project was lots of fun, as one of the projects for my web course, we were tasked with making an interactive blog website, and a handful of different themes that would apply to the entire site!

    Beyond functionality, one of the goals was to make the CSS as different as possible, and so beyond a couple basic layouts, I chose an obnoxiously vibrant 90s theme, and a very minimal one thats rotated 270 degrees!

    Otherwise its a pretty uninteresting demo, but you can still probably find it here.

    Shrug Shrug
  • > TCP Tic Tac Toe

    Networked Game

    2026

    C

    This was one of my more fun projects for my computer networking course, a full CLI tic tac toe implementation! It uses a server authoritative model thats reslient enough to be deployed as a dedicated server. It talks with clients over bare TCP, and includes automatic timeouts and proper error handling for all sorts of edge cases.

    You can find a full project overview, justification for design decisions, and full code on github.

  • > QR Event Manager

    Android App

    2025

    Android Studio (java)

    This was my final assignment for one of my classes at the University of Alberta. It was story boarded in Figma, and built in Android Studio using libraries including Zebra Crossing and OpenStreetMaps! As a team of six, we tracked issues and maintained a wiki in GitHub, complete with CRC cards, Javadoc, and sprint/meeting logs!

    Shrug Shrug
  • > Lunar Lander

    RL Capstone

    2025

    Python

    This project was an optional capstone for a reinforcement learning class! It uses the lunar lander environment from Gymnasium offered by the Farama Foundation, a fork of OpenAIs Gym. The goal was to implement an agent capable of using a limited fuel to reliably land from randomized starting states, while preserving as much fuel as possible. My implementation used expected SARSA, and ended up preforming relatively well!

  • > Balancing Engine

    TTRPG Tool

    2025

    Python

    This is a python based simulation and data analytics tool I used to balance my groups custom gear list for the Cyberpunk 2020 TRPG rule set! It simulates fights between theoretical units in a vacuum to measure a given weapons viability based on its TTK or chance to instantly kill an enemy. It then plots all the weapons in the batch on a nice little graph to make it easy to spot outliers!

    Shrug
  • > Damage Tracker Mk2

    TTRPG Tool

    2025

    Python (WIP)

    Mk2 is a GUI unit tracker that my friend group uses to simplify a lot of the more complicated calculation you need to do when playing our version of Cyberpunk 2020 TRPG. It sees a ton of use and as a result has many polished features to make using the system easier! Its complete with art and animations, and even connects to a database of units our GM can modify before a session!

  • > Temperature Regulator

    Embedded Arduino

    2025

    C++

    When I was building my 3D printer enclosure, I designed it to embed a PC fan and use an Arduino to hold a specified internal temperature. This also comes with the added benefit that I can monitor the internal vs external temperature remotely. I wrote the code myself in C++ in the Arduino IDE! To see it fully embedded, see the 3D Printing page!

    Shrug
  • > Pigeon

    Card Game

    2024

    A completely unique 1v1 card game. Play it here!

    Shrug
  • > Multithreading Library

    C Library

    2024

    C

    For my operating systems course I also built two libraries: a threadpool library using POSIX threads that allows users to create and hand arbitrary jobs off to a threadpool, and a Map Reduce library that lets users effeciently parse large amounts of data from clusered structures! To do so I had to implement multiple primitive syncronization methods, largely sempahors and mutex locks!

    Shrug
  • > Sorting Visualizer

    RISC-V Program

    2024

    RISC-V Assembly

    This is one of the more visual projects Ive done in assembly language, its just a simple insertion sort algorithm written in pure RISC-V assembly that additionally makes draw calls to the University of Albertas GLIR library, which is effectively just a mapping for extremely basic pixel wise rendering via modern terminals!

  • > Inset Calculator

    Web Tool

    2024

    HTML, CSS, and Javascript

    I found the need to calculate some offset side lengths of a triangular tile (which can be pretty unintuitive), and couldnt seem to find a good tool for it online! This left me with no choice but to boot up CAD software, and so I made a point of writing my own webtool! It has a nice little visualizer and proper scaling so it works on smaller devices!

    Shrug
  • > This Website!

    Flask Website

    2024

    Flask + Waitress

    This website was originally written from scratch using Visual Studio Code in raw HTML, CSS and Javascript, and after taking a web course I opted to modernize it, moving it to Flask + Waitress! Its currently running on a headless Alpine Linux installation on a little blue laptop that lives in a drawer. Its quite literally just an Apache server as a proxy for Waitress, connected to a Cloudflare tunnel, I access it with with SSH and havent opened it for almost a year now!

    Shrug
  • > Duo

    Co-op Game

    2023

    Unity C#

    Duo is a longer form puzzle game I made in my free time, its designed as a local coop puzzle game, where each player moves with a seperate set of arrow keys. The premise is that each player has a different ability they gain access to when they pick up a crystal, and they have to work together to reach the portal!

  • > Dragonshell

    Linux Shell

    2023

    C

    For my operating systems course, I built a simple shell program in C akin to bash, which supports running in backgroud, input and output redirection, and piping! The only built in commands are pwd, cd, and exit, but you can run any program using absolute file references!

  • > Damage Tracker

    TTRPG Tool

    2022

    Python

    This is a legacy form of Damage Tracker Mk2. Though it does almost everything that Mk2 can, it uses a CLI and as such the more complicated features are pretty clunky. It has since been entirely abandoned as we reworked the way damage is applied, and a lot of the ammotypes now read slightly differently.

    Shrug
  • > Grappler

    Game Jam

    2022

    Unity C#

    This is yet another 48h game jam game I did solo, my goal was to create a satisfying grappling platformer that could be expanded for speed running (similar to On The Grid). I wrote all the grappling physics myself, learning a lot about the power of ray casting in the process!

  • > On The Grid

    Game Jam

    2020

    Unity C#

    On The Grid is from a 48h game jam, the premise of the jam was limited resources, and we ended up building a game where your jumps are limited, and must be collected! At its core, it is a physics based platformer with some minor puzzle elements that requires some pretty tight movement at times. Its complete with menus, music, some tricky collectables, and a brutally difficult bonus level!

  • > Frozen Deep

    Game Jam

    2019

    Unity C#

    This is a Unity C# game for a 48h game jam I did with a friend, complete with menus, music, and an end sequence! The premise is that you are trying to navigate a deep and dark ocean for treasure. You can collect coins and bring them back up to the surface to buy powers like longer air supply, faster movement, or more light!

    Shrug
  • > FPS Playground

    Online FPS

    2018

    Processing (java)

    This was my attempt at a 3D online multiplayer shooter, written entirely from scratch other than a relatively simple library called QuesyCam which handles camera rotation. Networking was done using a secondary server program and the built-in processing.net library!

  • > Snake AI

    RL Demo

    2018

    Processing (java)

    While I was in high school, I built a super simple machine learning algorithm to play snake, all without any external libraries!

    (before it was cool too!)

  • > GeoFire

    Game Jam

    2018

    Processing (java)

    GeoFire is a procedurally generated card based dungeon crawler built in Processing! The main gimmick is that your health, move speed, and Mana (the card playing resource) were all tied together. It led to some really weird balance that couldn't be fixed without reworking that primary mechanic, but it taught me a lot about the value of class based architecture!

********@ualberta.ca

I couldnt find a template I liked so this website was written from scratch using Flask in raw HTML, CSS and Javascript! Hosted on my own hardware running Alpine Linux with the help of Cloudflare!

© 2026