Listed below are some of my personal/hobby projects. For my professional experience, please see my LinkedIn.

  • minivox - Voxel rendering engine implemented in C++20 using bgfx for rendering. Uses a greedy meshing algorithm to significantly reduce the size of meshes and therefore increase rendering performance. (WIP)
  • rustyboy - Simple Game Boy emulator implemented in Rust. Can run on desktop as well as in the browser using WASM. (WIP)
  • rusty8 - Simple Chip-8 emulator implemented in less than 400 lines of Rust code.
  • Gem Game - Online real-time multiplayer game prototype where players collect gemstones and detonate bombs within a procedurally-generated world. Created to assess Rust’s support for WASM as well as to try out the Tokio framework.
  • Till - Compiler implemented from scratch for a toy language featuring basic static type checking and blocks denoted via indentation (à la Python). No lexer or parser generators/libraries are used - just a hand-written lexer and recursive descent parser. Unoptimised x86 assembly is produced.