Side projects and open-source work. Most of what I build falls into two categories: tools that fix something annoying I ran into, and experiments that let me go deeper on something I am curious about.
Projects
-
vscode-mario
activeA fully playable Mario-style game running inside VS Code's sidebar. Every sprite and sound effect is generated procedurally - no image or audio files. Covers Canvas 2D physics, AABB collision detection, fixed-timestep game loops, and enemy AI.
TypeScript HTML5 Canvas Web Audio API VS Code Extension API -
clipboard-history
activeA super lightweight clipboard history manager for macOS built with only built-in dependencies - two scripts running locally. Browse and paste anything you've copied recently, triggered from any app via an Automator Quick Action. No third-party apps, no cloud sync, no need to trust anyone with sensitive data.
Python Shell macOS Automator -
ContactBook
referenceReference implementation of the CQRS pattern in ASP.NET Core Web API. Separates read and write models so each can scale and evolve independently - Commands mutate state, Queries retrieve it, with no crossover. The companion code for the blog post on CQRS in ASP.NET Core.
C# ASP.NET Core CQRS .NET -
babylon.js-shape-extrusion
referenceAn experiment in interactive 3D in the browser - draw a 2D polygon and extrude it into a 3D solid using Babylon.js. Covers the mesh generation and manipulation APIs that sit beneath most Babylon.js 3D scenes.
TypeScript Babylon.js WebGL 3D -
Azure Membership Scheme
archivedHazelcast membership scheme for automatically discovering WSO2 product cluster nodes on Azure virtual machines. Supports both the Azure REST API and Azure Java SDK for IP discovery.
Java Azure Hazelcast WSO2 -
Angular Search Bar with RxJS Debounce
referenceA production-ready search bar component in Angular using RxJS debounceTime, distinctUntilChanged, and switchMap - avoiding unnecessary API calls as the user types.
Angular TypeScript RxJS -
This website. A Jekyll blog redesigned from Lanyon into a custom theme - Ink & Signal palette, Inter + Serif typography, dark mode, and structured content via Jekyll data files.
Jekyll Liquid CSS Ruby GitHub Pages