Back to home

Jack Whitworth

I'm a web developer, specialising Django, Wagtail, & WordPress.

See my latest project, read insights from the work I do, and reach out to me directly to talk about web development.

Jack and his Dog

Full stack web development

Welcome to my corner of the internet, where I share my recent work, tips and tricks, and anything else in the world of web development. I'm a full-stack developer, specialising in the Wagtail and WordPress ecosystems.

Whether you're a developer who's found your way here from one of my articles or you're looking for someone to work with you on your own projects, you're in the right place.

My latest projects

the-button-homepage
The Button

thebutton.app is a website where there's a timer in the middle of the screen that counts up and can be reset by anyone at any time by pressing 'the button'.

3 February 2026
jackwhitworth-com-website-homepage-screenshot
My website

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.

15 October 2025
ticketingstack-og.original
TicketingStack

TicketingStack is the ticketing industry's first truly open marketplace. This project came to fruition when a friend of mine, Adam, reached out for advice on the idea he'd had for the platform. Over the next few weeks, we decided to tackle the project together, with me handling the construction of …

11 September 2025
wagtailmenupage
wagtailmenupage

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 for …

16 May 2025

Looking for a web developer?

I'm available for hire to work directly on projects or as a consultant.

Recent posts

  • django-testing-patterns
    Useful Django unit test patterns

    This is a collection of some common unit test patterns I find myself re-implementing across various projects. To save myself (and maybe some others) time in the future, I've decided to collect them all in one place.

    20 March 2026
  • writing-wagtail-streamfield-content-migrations
    Writing Wagtail StreamField content migrations

    When you drastically change one of your StreamFields and generate a migration for your new structure, the migration won't actually update what's already in your database. It'll describe the new, intended structure behind the fields, but the JSON data itself will remain exactly as it is.

    18 February 2026
  • directly-filtering-wagtail-pages
    Directly filtering Wagtail parent/child pages

    In Wagtail, pages don't have a typical, direct relationship like you'd expect in Django. Instead of using foreign keys to link them, each page has a `path` and a `depth` attribute...

    24 November 2025
  • django-wagtail-test-factories
    Django and Wagtail test factories

    A factory is a system that lets you easily mock data for your tests and creates as many records as you need for your test cases.

    5 November 2025
  • django-locking-database-records
    Django: Locking database records before updates

    To 'lock the record' means to tell the database that this particular piece of data is currently in use and shouldn't be given to anyone else who requests it.

    15 October 2025
  • wagtail-htmx
    HTMX and Wagtail CMS quickstart

    The first step to using HTMX with any project is loading it into the environment. That can be achieved by following the installation instructions on their website.

    28 August 2025
  • wagtail-page-querying
    Efficient parent/child page querying in Wagtail

    In Wagtail, pages exist within a hierarchical system, where each page has a single parent and potentially several children. The method of storing the page’s hierarchical ‘location’ in the database is slightly atypical.

    17 July 2025
  • wagtail-scheduled-publishing-modal
    Wagtail no scheduled publishing option

    Wagtail supports scheduling a page’s publication date and time out of the box. The first time I tried to use this feature, I lost a lot of time to an issue where the expected ‘Set schedule’ button wasn’t displaying in the page’s ‘Status’ tab.

    3 July 2025
  • wagtail-seo-opening-times-week-demo
    Using wagtail-seo hours of operation in templates

    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, …

    16 May 2025