Projects

More on GitHub. I build tons of useless stuff for fun, and because they’re cute.

fullstack open-sourced2021

Lead contributor for 2 years in this full-stack real-time Mafia game platform. Guided new contributors, including closely mentoring two high-school students for a year each.

ai system2026

xbar plugin to monitor active Claude Code sessions from the macOS menu bar.

ai2019

Pose estimator trained in Tensorflow/Keras using transfer learning and the ensemble method. Won 6th place (Merit Award) out of 50+ teams at DSTA TIL AI Hack 2019.

system2021

Windows malware anti-analysis techniques, including self-debugging and anti-virtualisation. Educational reference for reverse engineers.

system2021

Binary exploitation techniques — buffer overflow, format string attacks, and ROP chains. Env: Ubuntu 16.04 with PEDA/GDB.

game2021

Retro word game (256×256 pixels!) in Python and Pyxel. Ieripsnd by our atiliby to qlkciuy raed selbmarcd wdros wettirn tihs way.

Stardew Valley mods
open-sourced2023

Contributed to open-sourced SMAPI mods for the game, including a butterfly-catching mod.

nook
fullstack2026

Cosy pixel art Chrome extension that replaces your new tab with a calm productivity corner. Sticky notes, checklists, ambient music, customisable backgrounds, and 20 draggable decorations.

2019

Legal document search engine: tf-idf, positional phrase indexing, Boolean queries, and Rocchio relevance feedback.

ai2019

AI Agent to play limit poker.

game2021

Python recreation of the Tamagotchi Version 4 Connection toy. Custom game engine with character evolution, in-game shop, and Pyxel graphics.

system2021

TCP-based traceroute in C using raw sockets. Bypasses ICMP firewalls that block traditional traceroute.

game2021

Game-theoretic analysis of the childhood game Chopsticks. Builds a game state graph to prove that optimal play always results in a perpetual tie. (It's impossible to win unless your opponent made a mistake.)

fullstack2020

Satirical Animal Crossing news site with weekly crossword puzzles. Built during COVID for the SG Animal Crossing community.

fullstack2022

Discrete event visualiser with xkcd-style charts. Built to explaining loss-dampening in roulette by betting on more squares.

2021

Uses an RPi+COAP protocol with light sensors. Detects and displays if a room is occupied in real-time, more accurate than room booking systems.

system2020

Software-defined networking: Programmed for L2/L3 (switch/router): self-learning switch, firewall, variable QoS

game2021

Multiplayer word-guessing game on Telegram. A social zero-knowledge game, where players must prove that they know a word without revealing it.

system2021

Used OLS to define access rules on database tables

system2021

Object-oriented virtual machine that executes assembly code, with memory, registers, stack, function calls, jumps, and an ALU. Built for the Synacor Challenge.

system2019

Attack on PKCS5/7 Padding. By knowing if a given ciphertext is valid, we can trace backwards the original plaintext. We can also use this to generate ciphertexts for new plaintexts.

2018

Enables NUS students to use IVLE login to get a queue number at the school clinic. Shows the estimated wait time as well. Without this, you had to take a queue number and physically wait at the clinic for an hour.

fullstack2019

HacknRoll 2019 hack. Play a keyboard piano across octave rows — each note generates artwork, exploring synesthetic neurodivergence.