Projects

GitHub: tmux-cheatsheet Interactive tmux cheatsheet

TypeScriptPreact

screenshot of application showing virtual keyboard

Displays a virtual keyboard with tmux bindings marked. Responds to keyboard events to show which tmux binding would be activated. Care was taken to minimise unnecessary re-renders in order maintain performance, even when mashing the keyboard.

GitHub: flashcards flashcards.fyi

TypeScriptPreact

screenshot of application showing flashcards of national flags

Simple flashcard application. Supports touch events on mobile. I'm planning on revisiting this to add serverless persistence (currently everything lives in localStorage), and to try out some more formal approaches to local-first applications, for example, Zero and Tanstack DB.

GitHub: space-canvas Solar system simulation

TypeScriptCanvas API

screenshot of application showing the moon orbiting the earth

N-body physics simulation and exploration of game development techniques.

GitHub: webteam-sinatra Spaceteam-inspired party game

RubySinatraClaude Code

screenshot of game showing control panel

This multiplayer game was created at Ruby Retreat 2025 to try out some different methods of organising the output of LLM tools.