Golang, Rust, Python, Linux, IoT, open-source, basketball - not necessarily in that order!

Programming is life. I’ve been building things (properly) since mid 2012, with production experience in a variety of languages and technologies. I enjoy working on all kinds of projects, including: data pipelines; CLI tools; desktop applications, games and much more.

Most recently, I've been working on a service designed to connect multiple platforms to a single external API for one of the UK's largest supermarkets, using technologies such as: Golang, Python, Docker, Terraform, ELK, and AWS - to name just a few. Aside from this, I have a few open-source projects on GitHub.

You'll most likely find me at a conference, hackathon, meetup, or tech event somewhere on Earth - feel free to get in touch!

Want to keep things secret? Here's my PGP Fingerprint & Public Key.

						
B7B3 7036 E1B0 D70A 93C5  A748 048F 66AF F28F 96F7

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
Lwr2hu8crgoPe3lC49rvA2k=
=vGti
-----END PGP PUBLIC KEY BLOCK-----
						
					

Download