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

Using wagtail-seo Hours of Operation in Templates

Introduction wagtail-seo comes with various SEO settings for your site, including fields for ‘Hours of operation’. I needed to take this data and output it on a template in a nice format. This approach is minimal and effective, so if you are also looking to build a global opening hours widget, then you’re in the […]

Adding Request Headers – Dokploy & Traefik

I’ve switched over to hosting all my sites with Dokploy. I’ve been enjoying the switch, but have found that there are a few settings which aren’t as simple as clicking a button. This isn’t a limitation of Dokploy, but rather a feature. Instead of abstracting away from the underlying system that serves your websites, Dokploy […]

Changing Wagtail ChoiceBlocks Without Migrations

Introduction I’ve recently been building some content systems within Wagtail that utilise the ChoiceBlock and MultipleChoiceBlock. The project required these to be modifiable without generating migrations for a few reasons, so I’d like to share my solution for facilitating this. The Code When copying from the following examples, be sure to update the class’ path […]

I rebuilt Hermitclock with Wagtail & Django

Introduction Last year, I launched a website called Hermitclock, dedicated to sharing the local times of the active Hermitcraft members. If you’re unfamiliar with Hermitcraft, it’s a Minecraft survival, multiplayer server full of content creators. Hermitclock was built using Laravel, a popular PHP-based full-stack framework for website development. Since then, I have put a lot […]

Dockerise Python with a Background CRON runner

Since January, I’ve worked full-time in Django and Wagtail development. In my last post, I shared my Dockerfile for deploying such projects. That Dockerfile includes a multi-stage build to reduce the final image size and to improve security. This directly builds on that Dockerfile. The Dockerfile The important part here is lines 48-50. We’re copying […]