What we do

Deep expertise,
focused delivery.

Five core services built around Python, Django, and Wagtail. We don't try to do everything — we do these things exceptionally well.

Wagtail CMS Development

StreamField Snippets ModelAdmin Hooks API Multi-site Internationalisation

Custom builds, not off-the-shelf themes

We build Wagtail installations from the ground up — no starter themes, no bloated page builder plugins. Every project starts with a content model workshop where we map your editorial requirements to Wagtail's page tree, StreamField blocks, and snippet architecture.

The result is a CMS that fits your organisation rather than asking your organisation to fit the CMS. Editors get an interface that makes sense for their content; developers get a clean, well-documented codebase they can extend confidently.

What a Wagtail build includes

Content modelling

Page types, StreamField blocks, and snippet schemas designed around your editorial workflows — not generic defaults.

Admin UX design

Custom panels, inline editing, conditional fields, and help text that make the editor experience genuinely pleasant.

Search integration

Wagtail search with Elasticsearch or PostgreSQL full-text — faceted filtering, promoted results, and search analytics.

Multi-site architecture

Multiple sites from a single Wagtail install — shared content, separate editorial teams, centrally managed redirects.

Image pipeline

Custom image models with focal-point-aware renditions, WebP output, lazy loading, and CDN integration.

Editorial workflows

Draft → review → publish cycles with moderation, notifications, scheduled publishing, and full revision history.

Python & Django Applications

Django Django REST Framework Celery WebSockets HTMX PostgreSQL

Applications built to last

We build bespoke web applications in Django for clients who need more than a CMS. Data-heavy dashboards, SaaS platforms, internal tools, membership portals — if the business logic is complex and the data model matters, Django is almost always the right choice.

Our approach centres on getting the data model right before anything else. A clean schema and well-considered service layer make features easy to add and bugs easy to find. We've worked on codebases that have been running for a decade without a rewrite — that's the kind of software we try to build.

Application services

SaaS product development

Subscription billing, usage metering, team accounts, and role-based access — full SaaS infrastructure on Django.

Data dashboards

Complex aggregations, real-time charts, scheduled reports, and export pipelines — all server-rendered or via DRF APIs.

Third-party integrations

Salesforce, HubSpot, Stripe, Xero, Mailchimp, and any system with an API — robust, retried, and tested.

Background tasks

Celery workers, scheduled jobs, email queues, and async processing — architected to survive failures gracefully.

Headless & API-First CMS

Wagtail API GraphQL Next.js Nuxt ISR Preview mode

The flexibility of headless, the power of Wagtail

A headless CMS decouples your content from your front-end — editors work in a familiar interface while your presentation layer is free to use any technology. Wagtail's built-in REST and GraphQL APIs make this natural, and we've built the production patterns to make it reliable.

We've architected headless Wagtail for publishers, universities, and e-commerce brands. The hard parts — preview mode, image renditions, rich text serialization, ISR invalidation — are things we've already solved.

Headless capabilities

Wagtail API setup

Custom serializers, page type endpoints, nested block rendering, and image rendition APIs — ready for any frontend.

Next.js / Nuxt frontends

Server-side rendering, static generation, ISR, and edge caching — with full Wagtail draft preview support.

GraphQL with wagtail-grapple

Typed GraphQL schema generated from your Wagtail page models — introspectable, efficient, and cacheable.

Preview mode

Wagtail's draft preview integrated with Next.js Preview Routes — editors see exactly what they're publishing.

API Design & Integration

Django REST Framework OpenAPI / Swagger OAuth 2.0 Webhooks Rate limiting

APIs that developers actually want to use

Good API design is rare. We build REST APIs with Django REST Framework that are consistent, well-documented, versioned, and a pleasure to integrate against. From simple CRUD endpoints to complex multi-tenant APIs with granular permissions, we've covered the full spectrum.

We also integrate third-party APIs — whether that's syncing data from Salesforce, processing payments through Stripe, or connecting legacy systems that communicate via XML over FTP. Integration work is unglamorous but critical, and we do it with proper retry logic, error handling, and monitoring.

API services

REST API design

Consistent resource naming, pagination, filtering, versioning, and OpenAPI documentation generated from code.

Authentication & authorisation

JWT, OAuth 2.0, API keys, session auth — and fine-grained object-level permissions via django-rules or DRF policies.

Third-party integrations

Idempotent integrations with retry logic, dead-letter queues, and Sentry-monitored failure alerting.

Webhook delivery

Reliable outbound webhook infrastructure with HMAC signing, delivery logs, and replay capability.

Technical Site Audits

Performance Security Accessibility SEO Code review

An independent view of your existing platform

Sometimes you don't need a rebuild — you need to understand why things are slow, where the security risks are, or why Google isn't ranking your pages. Our technical audit service gives you a detailed, actionable report from developers who've seen hundreds of Django and Wagtail projects.

We audit code, infrastructure, database queries, caching strategies, accessibility compliance, and SEO signals. Every finding comes with a priority rating and a concrete recommendation — not just a list of problems.

Audit coverage

Performance audit

N+1 query detection, cache hit rates, static asset optimisation, TTFB analysis, and database index review.

Security review

Django security checklist, dependency vulnerabilities, CSRF/XSS exposure, secrets management, and deployment hardening.

Accessibility (WCAG 2.2)

Manual testing with screen readers + automated tooling — we produce a prioritised remediation roadmap.

Codebase review

Architecture, test coverage, Django best practices, Wagtail patterns, and technical debt assessment.

The right model for your project.

Start the conversation

Tell us what you're building.

We'll let you know quickly if it's a good fit and suggest the engagement model that makes most sense.