All Things Web Development

Jack and his dog, Benny, sat in the sun.

Hello there! Welcome to my corner of the internet where I share my adventures in the world of web development.

I’ve worked both as a solo developer and as a part of teams ranging from small and local to larger, international companies.

Outside of website builds, I’ve developed many open-source projects, and dedicate a lot of my free time to sharing my knowledge on all things websites.

For my own projects, such as what you’ll see showcased on this website, I use a variety of different programming languages, frameworks, and systems for deployment. One of my biggest strengths as a developer is the range and diversity in my knowledge, and my curiosity to keep learning about new technologies to better both myself, and the products I create.

Recent Projects

Recent Blog Posts

Valet-Linux on WSL Ubuntu: Windows 11

This article will assume you have Ubuntu 24.04 installed on your Windows 11 computer via WSL. You should understand the basics of Ubuntu’s package manager apt, as well as the basics for terminal usage. Valet is Laravel’s tool for local development. It simplifies managing Nginx and PHP when working on multiple projects. I’ve always used […]

WireGuard VPN for an open NAT (wg-easy)

What Is NAT? In the words of a brief Google search: “NAT stands for Network Address Translation, a service that allows private networks to use the internet and cloud. It works by translating private IP addresses to a public IP address before sending packets to an external network.” To translate that description to the problem […]

Dockerise Django and NPM with Multi-Stage Builds

Introduction I’ve recently started learning Django, the popular web development framework for Python. Until now, as a PHP developer, I’ve been rather spoiled with the ease of deploying projects thanks to software such as cPanel or Plesk. Having reached the stage of wanting to deploy my first Django project, I realised that Docker would be […]

Auto-refresh the Browser on File Save with Django

Introduction I’ve recently started learning Python’s Django framework and have brought my favourite JavaScript framework along with me: TailwindCSS. From a development standpoint, I find that TailwindCSS feels much more efficient when I don’t have to refresh the page every time I make a change. At first, I wasn’t entirely certain about how I could […]

How To Correctly Size WordPress Images

Introduction This is a bit of a minefield topic, as there are a lot of plugins and ‘solutions’ out there that require you to pay money or install bloated software to accomplish something WordPress is designed to handle. In this post, I will show you how to have WordPress generate specific sizes for your images […]