Skip to main content

I build things people use nobody asked for.

Games, tools, and experiments.

See what I'm building

Projects

Screenshot of Space Game
Live Godot GDScript

Space Game

Real-time isometric 4X strategy. Expand across a procedurally generated galaxy, build economies, and fight rival civilisations, all in a browser tab.

Why I built this

I wanted a strategy game I could play in a browser tab without installing anything, and Godot's HTML5 export makes that possible. Building it taught me systems design the hard way: economies, AI, procedural generation, all of it through the best kind of problem. It's playable and I've stopped adding to it.

Screenshot of LLM Clicker
Live React TypeScript Zustand IndexedDB

LLM Clicker

An idle game where you are the language model. Generate tokens, buy parameters, widen your context window, and watch the interface evolve from pixel art to polished modern UI as you scale.

Why I built this

Idle games are a real design problem: meaningful progression with almost no friction. I wanted one where the mechanics weren't decoration, so temperature, attention and the context window are all systems you play with directly. The hard part was making the interface level up alongside the model, and that's the bit I'm most pleased with.

Screenshot of Work Work
In Development React TypeScript Three.js React Three Fiber Zustand

Work Work

An idle game about mining-camp middle management. Your income is a small 3D labourer you watch walk to the mine, swing, and carry the gold back. Every upgrade changes the scene. Slap a peon and it sprints; slap it too often and it goes on strike.

Why I built this

Most idle games hide the work behind a number ticking up. I wanted the opposite: you watch every trip to the mine, and anything you buy has to show up on screen. That rule ended up shaping everything else, from the economy curves to the camera.