The workshop.
When I’m not in software I’m usually making something, or dragging software off-screen into something physical. This is the hands-on side of how I think: pull it apart, work out why, build it back better.
3D printing
Designing and printing parts, fixtures, and the occasional whole product, iterating in plastic until the idea is right.
Electronics
Microcontrollers, sensors, and circuits: the low-level end of making things move and sense the world.
Robotics
Software, electronics, and mechanism brought together into things that move. Most recently Cheddar, a six-wheeled articulated rover.
Woodworking
Slower, warmer work: joinery and finish, where patience shows in the result.
CAD & product design
Modelling ideas properly before cutting or printing, designing for how something is made and used.
Kinetic sculpture
Mechanical models and moving pieces: engineering as something to watch, not only to use.
Games & side projects
Game jams, mobile releases, and the odd oddball build. Curiosity with a deadline. The full list is below.
I’m most interested in the overlap between software, physical systems, electronics, mechanical design, creativity, education, and play. The same instincts that make good systems (clarity, iteration, and respect for how things are actually built) apply just as well at the workbench.
Built
Things I’ve made.
Rovers, games, teaching tools, and the occasional service fleet built for an audience of one. Some have a longer write-up; the rest link straight to the code.
Cheddar
A six-wheeled rover that crabs, spins on the spot, and climbs stairs.
ScrapKings
A top-down arcade roguelike about bolting a ridiculous machine together mid-run.
Build Pipeline Orchestrator
Durable Unity build orchestration on Temporal, with the reasoning written down.
Grimoire ML
Natural-language Magic: The Gathering search, as a small fleet of services.
Exhausted
Post-apocalyptic vehicular combat with behaviour-tree driving AI.
Beacon Investigation
BSc dissertation on beacon technology in the festival industry.
LawfulHumanSmash
The wedding website for me and Mady, dog included.
GeneticRacers
Breed and evolve 2D racing vehicles across generations.
Pokemon SQL Trainer
Learn SQL from zero by building a Pokedex.
ESP32 Servo Tester
A pocket servo tester with an encoder, an OLED, and a dial that actually fits.
Go Knucklebones
A dice game as an excuse to learn Go networking.
The Road
A squad-based RTS with overwatch cones and real line of sight.
Gravitap
A gravity-mechanic mobile game, shipped to the Play Store.
OfficeTanks
Physically simulated tank battles across a desk, playable in the browser.
Also, away from the bench
The stuff that isn’t building things →Have a difficult, important problem?
I’m happiest where the problem is unclear, several teams need to work together, and the outcome actually matters. If that sounds like your situation, let’s talk.
- Talk through a hard technical problem
- Scope a platform, data, or distributed-systems build
- Get a second opinion on an architecture or delivery plan
- A role or engagement worth a conversation