// havox.org — v4

John Gatward

Software Engineer

I like building useful things and understanding how they work.

Havox & me

day job

Backend engineer at Sainsbury's Supply Chain & Logistics. Microservices, Spring Boot, Kafka, MongoDB, AWS. It's good fun.

dev

Fascinated with new languages, frameworks, and shiny tech I probably don’t need. Constantly tinkering, breaking things, and learning just enough to build something cooler next time.

linux

Long-time Linux user and recovering distro-hopper. Currently: Hyprland on Void. Home server running 24/7 for friends and family who didn't ask for it but appreciate it.

havox

Started in 2017 as a place to dump whatever I found interesting. Four redesigns and several dead domains later, it's still going. Less a portfolio, more a paper trail.

skills

What I know

Backend

Professional Java experience building microservices & RESTful APIs with Spring Boot. TDD with JUnit & Mockito.

Java Spring Boot AWS Kafka MongoDB
🎨

Frontend & Creative

Comfortable with react and CSS. I enjoy visualising algorithms interactively — it's more fun than a console output.

React TypeScript HTML/CSS
🖥

Systems & Infra

Long-term Linux user. Self-hosted web & media servers. Comfortable with networking, security practices, and the command line.

Linux Docker Self-Hosting Wireguard
🎓

Academic Breadth

C, C++, x86_64 assembly, Haskell, R & MatLab from uni. Modules in Advanced networking, algorithms, compilers, graphics, cryptography, malware analysis & many more.

C / C++ Haskell Algorithms Security Low Level OS

projects

Things I built

A timeline of projects focused on technical challenge and what each build taught me.

Featured projects
All projects
03 Apr 2025 Pub Quiz Dashboard A Python dashboard to track quiz performance. Python 14 Nov 2024 Thin Ice A small browser tile game inspired by one I played growing up. C++ WebAssembly RayLib 20 Mar 2024 Travelling Salesman Problem A nearest-neighbor + 2-opt visualiser. Zig WebGL WebAssembly 31 Jan 2024 Flocking A boids simulation showing emergent behaviour from three simple rules. Rust Raylib 1 Nov 2023 samstoreymusic.com A website design and build for a friend working in music. HTML/CSS JavaScript 21 Jul 2023 Game of Life After building Conway's Game of Life in p5.js, I expanded it into a generic automata simulator. React JavaScript 5 Feb 2022 Percolation A visual demo of 'water' percolating through a medium, as it disappears. C RayLib WebAssembly 1 Oct 2021 Drawing Bézier curves An interactive diagram for cubic Bézier curves. JavaScript p5.js 17 Sep 2021 2D Marching Squares Basic map rendering. JavaScript p5.js 2 Apr 2020 Müller-Lyer illusion A JavaScript visualisation of the Müller-Lyer optical illusion. JavaScript p5.js 27 Feb 2019 Fourier series Builds a square wave from sine components to show Fourier series in motion. JavaScript p5.js 23 Feb 2019 Constructing an ellipse A geometric construction demo inspired by 3Blue1Brown. JavaScript p5.js 18 Mar 2018 Calculating PI A Monte Carlo approximation of pi using random sampling. JavaScript p5.js 17 Dec 2017 Oscillations in 3D A JavaScript recreation of a Bees and Bombs animation. JavaScript p5.js 13 Nov 2017 Maze generator A p5.js maze generator using depth-first search and recursive backtracking. JavaScript p5.js

contact

Let's talk

I am currently employed and open to the right software engineering opportunity, particularly backend or full-stack roles with teams that value thoughtful delivery and technical quality.

For professional enquiries, please connect with me on LinkedIn.