From the blog
Thinking out loud.
Practical writing on Python, Django, Wagtail, and the craft of building web software. No fluff — these are things we've actually built and lessons we've actually learnt.
Wagtail vs WordPress in 2026: A Developer's Honest Take
After a decade of building with both, here's our unvarnished comparison — content modelling, security, editorial UX, and where each platform genuinely excels.
Building a Headless CMS with Wagtail and Next.js
A practical walkthrough: Wagtail API setup, page serialization, image renditions, preview mode, and ISR — with real code you can copy.
Django in Production: 10 Optimisations That Actually Matter
From N+1 queries to Redis caching and Celery offloading — the specific patterns we apply to every Django app before it ships.
Wagtail StreamField: Advanced Patterns We Use on Every Project
StructBlock nesting, custom chooser blocks, block-level validation, and the StreamField patterns that separate beginner Wagtail builds from production ones.
Testing Django Applications the Way We Actually Do It
Factory Boy over fixtures, pytest over unittest, transaction isolation, and how we write tests that catch real bugs rather than just satisfying coverage thresholds.
Wagtail for Editors: The Features They Never Told You About
Snippet choosers, bulk publish, scheduled publishing, comparison views, and all the Wagtail editor features that most builds never surface. Your editorial team will thank you.
Stay in the loop
Got a project to discuss?
We publish a handful of articles a month. Or skip straight to talking — we're always happy to chat Python, Django, and Wagtail.