Last Updated: 27/10/2025

I'm Colin Gray, a software developer, data wrangler, systems integrator and more...

I'm currently looking for my next challenge and am ready to contribute to the success of your team. Available immediately.

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.

 

Personal Project Showcase

1. Tilly-Sur-Seulles Commonwealth War Cemetery

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).
Technologies utilised:
  • ArcGIS Experience Builder Developer Edition
  • React
  • TypeScript
  • ArcGIS Maps SDK for JavaScript
  • ArcGIS Online
  • Azure Static Web Apps
  • Github Actions

2. UK Earthquakes (2000-2025)

https://quakes.webgis.co.uk

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.
Technologies utilised:
  • React
  • TypeScript
  • Leaflet
  • HTML
  • CSS
  • Azure Static Web Apps
  • Github Actions

3. Game Counter Movement Demo

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.
Technologies utilised:
  • JavaScript
  • OpenLayers
  • HTML
  • CSS
  • Azure Static Web Apps
  • Github Actions

Development

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.

Python

Python

  • ArcGIS Geoprocessing Services
  • ArcGIS Python Toolboxes (.pyt)
  • Websites built on the Django/GeoDjango framework
  • Data pipelines using GDAL/OGR, GeoPandas and SQLAlchemy

JavaScript

  • Front-end API interaction
  • Websites built on React framework
  • TypeScript experience
  • REST APIs built with Express on Node.js

C#

  • ArcGIS Desktop Add-Ins using MapObjects
  • Server Object Extension for ArcGIS Server
  • Integration modules to facilitate data exchange between non-interoperable systems
  • Flood model interactivity in Unity
  • Windows CLI tools

Geospatial

Throughout my career I've utilised and created bespoke solutions using the following GIS technologies:

Enterprise & Web GIS

  • ArcGIS Enterpise with Portal
  • ArcGIS Online
  • GeoServer

Web Mapping Front-end APIs

  • Esri JavaScript SDK
  • Leafet
  • Google Maps
  • MapBox / MapLibre
  • OpenLayers

GeoSpatial Web Services

  • Esri Feature & Image Services
  • Esri Geoprocessing Services
  • WMTS & Vector Tiles
  • WMS
  • WFS
  • Google Web Services

 

Geospatial Databases

  • ArcSDE
  • PostGIS
  • SQL Server

Desktop GIS

  • ArcGIS Pro
  • QGIS

Data Transformation, Migration & Integration

  • FME Desktop/Form
  • FME Server/Flow
  • Python with GDAL/OGR, GeoPandas and SQLAlchemy

Cloud

The following cloud services have all been utilised in the past ten years to host bespoke solutions for a variety of customers:

Azure

  • Azure App Service
  • Azure Functions
  • Azure Static Web Apps
  • Azure SQL Database
  • Azure Blob Storage
  • Github Actions

AWS

  • EC2
  • ECS
  • S3
  • RDS
  • Route 53
  • ELB

Databases

Database systems used in various solutions:

RDBMS

  • PostgreSQL
  • SQL Server
  • Oracle

NoSQL

  • MongoDB

Architecture

In my time, I have been known to create:

  • UML diagrams to document how classes should interact.
  • System architecture diagrams to illustrate how components in a distributed system communicate with each other.
  • System flow diagrams to provide insight on the flow of data through complex systems.
  • Wireframes for web and desktop applications using tools such as Figma.

Work History

Employment History

Bespoke applications have been created for, or consultancy has been provided to, the following organisations:

Contact

You can find me over at LinkedIn.