All Things Web Development

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
wagtailmenupage
Adding External Links to Wagtail Menus Wagtail comes with a basic solution for displaying pages in a menu. While simple, it’s effective for simple, content-focused sites like blogs. I find that my biggest frustration with the system is that you can only add internal pages as links within your navigation. I developed a simple solution…
impandskizzpodcast.com
Browse All Episodes of The Imp And Skizz Podcast The Imp and Skizz podcast is one of my favourite ways to pass the time whilst driving or doing routine tasks around the house. ImpulseSV and Skizzleman are both content creators, which I discovered through Hermitcraft. I’ve recently started learning Python’s Django framework. I decided to…
My Website
My personal blog/portfolio website build As a web developer, having your own website is essential if you want to showcase your skills and abilities to potential future clients or employers. With that need comes an understandable pressure for your own website to reflect the quality of what you can create for someone else. This very…
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 […]