Projects
Sat Feb 10 2024These are things I've built.

MMODiscord: Run your own virtual world on any Discord server
April 2021
A virtual world that sits on top of any Discord server
A virtual world that sits on top of any Discord server

Board Game Engine
September 2020
An multiplayer board game engine where anyone can build a board game with just two JSON files--- think Tabletop Simulator meets Super Mario Maker
An multiplayer board game engine where anyone can build a board game with just two JSON files--- think Tabletop Simulator meets Super Mario Maker

GSoC 2020: implementing real-time metrics for MGGG's Districtr app
August 2020
I implement a new feature on the backend and frontend for a reactive web app
I implement a new feature on the backend and frontend for a reactive web app
Rebuilding this website
August 2020
I move this website from Jekyll to Eleventy, and give it a makeover for good measure
I move this website from Jekyll to Eleventy, and give it a makeover for good measure

Building a code sharing MVP with React and the WebSockets API
August 2020
I learn all I can about systems design and build an MVP using React and the WebSockets API in four days for a technical interview.
I learn all I can about systems design and build an MVP using React and the WebSockets API in four days for a technical interview.

Building an Bayesian SMS sender
September 2019
A SMS pipeline I built to investigate the effect of different messages on clickthrough rates, using Thompson sampling to maximise effectiveness.
A SMS pipeline I built to investigate the effect of different messages on clickthrough rates, using Thompson sampling to maximise effectiveness.

Doing distributed data analysis on a Raspberry Pi cluster
September 2019
A cluster of 16 Raspberry Pi 4s used for distributed data analysis with Apache Spark.
A cluster of 16 Raspberry Pi 4s used for distributed data analysis with Apache Spark.

Blocktrain
August 2018
A blockchain-connected train diorama
A blockchain-connected train diorama

Phonics Game
July 2018
Educational game I built on a lark
Educational game I built on a lark

Dropship Chess
September 2017
A chess program on a custom OS/computer I built following the NAND 2 Tetris Course
A chess program on a custom OS/computer I built following the NAND 2 Tetris Course

Inspector's Gadget
August 2017
Custom Electron app that makes building inspections more efficient
Custom Electron app that makes building inspections more efficient

Automated Transaction Tracker
August 2016
An automated SMS reminder system for the Singapore Army
An automated SMS reminder system for the Singapore Army

Form Emailer and Form Letterer
April 2016
A collection of Python scripts that simplifies the process of sending mass personalised emails
A collection of Python scripts that simplifies the process of sending mass personalised emails