I build solutions, websites, in-flight entertainment systems, the occasional toaster and prototype computer vision machine learning systems.

I’m often called a full stack developer but it’s a stack resembling a Jenga tower right before it falls over. Some of the blocks at the bottom of the stack haven’t been seen in decades (think flash, perl, pascal, assembly).

I can write in all sorts of languages, but ever since node won the server wars I only really need javascript. If I haven’t managed to persuade a client with a legacy codebase to fully re-architect their products in javascript then I have been known to write a bit of Java, .net, C, Python and even SQL when I couldn’t find a DBA nearby and was firefighting a P1 at a major bank.

I try and concentrate on the solution rather than the implementation. So, while normally you’ll find me writing web apps or mobile apps, if it seems like the better customer experience involves using computer vision and projecting an interface against the side of a building you’ll find me happily writing some C or Python to get a passable ML model together to do the computer vision bit and then figuring out how to map a projection against a building leveraging a model of the building in Unity.

And when I say I build I mean really build. I can work with a MIG welder or a CAM mill as comfortably as a keyboard. So my stack really is full.

Go top