JavaScript
- Full-stack development with Node.js
- Front-ends built on React framework
- REST APIs built with Express on Node.js
- TypeScript experience
Software Developer *
(* one of many hats)
For many years I've been creating and trouble-shooting applications and systems, kicking data into shape and solving problems with ingenious workarounds. With an MSc in GIS, most of the projects I have undertaken have had a geospatial flavour in one way or another, but I have an adventurous palate, and I enjoy the end-to-end journey of any "problem to solution" that technology can facilitate.
A site built with ArcGIS Experience Builder Developer Edition
to show the distribution of graves by regiment in the war cemetery at Tilly-Sur-Seulles, Normandy. The site uses a custom
legend widget I developed to show the count of graves next to each regiment's legend entry (functionality that is not in the
standard developer edition legend widget as of September 2025).
A simple React application to view the location of UK earthquakes with a magnitude of 1.0 and greater each year. It queries USGS
web services to gather the data for each earthquake, with each location plotted on a Leaflet map.
https://sixthfleetdemo.webgis.co.uk
Utilising loosely coupled custom JavaScript classes with a pub-sub system for messaging between components,
this demo site shows how game counters can be interactively moved on a hex-based board game map implemented with
OpenLayers.
Over the years, I've built all sorts of applications—web, desktop, and CLI tools—each solving different challenges in the geospatial and data engineering space. I've worked with a wide mix of languages and frameworks, but here are the ones I've leaned on most in recent projects.
Throughout my career I've utilised and created bespoke solutions using the following GIS technologies:
The following cloud services have all been utilised in the past ten years to host bespoke solutions for a variety of customers:
Database systems used in various solutions:
In my time, I have been known to create:
Bespoke applications have been created for, or consultancy has been provided to, the following organisations:
You can find me over at LinkedIn.