Get started

News

27 Aug 2025

Media listings UX improvements via GSoC 2025

Enhancing the user experience of Wagtail’s media listings over the summer

Joel William profile picture

Joel William

Contributor

As part of the Google Summer of Code (GSoC) program, I joined the Wagtail project from June to August, contributing to open source with guidance from experienced mentors.

The project: improving media listings

In Wagtail 7.0 and earlier, Media listings were tricky to navigate. Users had to open each item individually to see usage information – meaning extra clicks and page reloads. This not only affected the user experience but also the performance and sustainability of Wagtail. I chose to work on this as part of GSoC as there was a clear need for improvements, with 10 years since the first request for those listing improvements!

This wasn’t part of pre-selected project ideas for Wagtail, but I identified this while navigating Wagtail’s backlog of issues and thought it be a good fit for a project nonetheless.

Improvements in Wagtail 7.1

Wagtail’s 7.1 release contains some of the early improvements from this project:

  1. Image listings support a new list layout with a toggle to switch back to grid layout as you like (shipped in PR #13172)
  2. This new list layout comes with a new usage count column with support to sort the images (shipped in PR #13234).
  3. We also added this usage count column and sorting support to documents listings for consistency.

Here is what the new list layout for image listings looks like, with sorting from low to high usage counts:

Image listing list layout in dark mode, with four images, showing with usage count sorted from low to high

Improvements coming to Wagtail 7.2

The upcoming 7.2 release due in November will include filtering by usage count for images and documents (PR #13291):

Image listing list layout with filter by usage count from 2 to 3

We expect this will greatly speed up finding images that are never used, or images that show the highest amounts of uses.

Future enhancements

As well as shipping those improvements, we also reviewed and planned likely next steps that fall beyond the scope of this project.

Behind the scenes

I had never tested code for performance and sustainability at this scale before, and learned a lot. Displaying usage counts while ordering media by usage efficiently was the biggest challenge. We explored different approaches like denormalization, bulk references, to create an optimized query since even small changes can impact performance.

The result: Image listing now displays usage counts with an average loading time difference of less than 20 ms. See more about our performance tests.


Here’s everyone who made this project possible.

Wondering how you can do it?

It’s not just established contributors who can build impactful features, newcomers can too. Wagtail has excellent documentation to help you get started – whether fixing issues or adding new features. Check it out here: First Contribution Guide And join our Slack community’s #new-contributors channel – it’s a great place to start your journey.