Projects
Building the apps that I want to use
Tools, games, and notes from the work.
Streamlining Workflows
Tauri Explorer
The file explorer I built because nothing quite fit my needs
rust · tauri v2 · svelte 5 · open source
Scrivo
My take on a Markdown editor, starting with the bits I liked in Typora.
rust · tauri 2 · codemirror 6 · markdown
Ballast
My mood diary, with the entries kept as Markdown files.
svelte 5 · tauri 2 · kotlin · local-first
Quickshell bar
The bar on my Hyprland desktop, including what the coding agents are doing.
qml · hyprland · python · ricing
Exploring AI Capabilities more Broadly
Tableau Frog
An experiment in exploring data by choosing variables and comparing subsets.
svelte 5 · statistics · echarts · data exploration
LambdaQuery
An old project for writing SQL queries as Python expressions, revisited.
python · compiler · sql · semantics
Game AI and Reinforcement Learning
Ashen Cathedral
I asked GPT-6 Astra to make a first-person version of Diablo 1.
unreal 5 · c++ · blender · diablo
Brood War AI
Trying to train an agent for the game I grew up playing.
starcraft · openbw · behaviour cloning · pluto
AutomatedSpike
Seeing what an AI might brew in Magic, and teaching it to play the decks.
python · reinforcement learning · xmage · mtg
Zheng Shang You
Teaching a network the card game we play at home.
pytorch · reinforcement learning · behaviour cloning
Eskiv
A game from high school, and the bot I wrote for it during Covid.
python · pygame · lookahead search · game analysis
Making Maths More Accessible
Intuition on the Central Limit Theorem
An interactive essay about why sums of random things tend towards a bell curve.
mathematics · probability · vanilla JavaScript





