Will Ellis

Next.js 15 · Headless WordPress · Multi-brand · Tailwind

Nine insurance brands from one Next.js codebase

A multi-brand headless WordPress platform for Mission Underwriters, serving nine insurance brands from a single Next.js codebase with per-brand themes and block overrides.

Overview

Client: Mission Underwriters
Role: Senior Engineer
Built on: Nextpress (headless WordPress + Next.js)

Mission operates several insurance brands, each with its own visual identity. Rather than maintain a site per brand, Mission 2025 serves nine brands — Mission, Amulet, Elitium, Euna, Kovrilo, Kyntra, Lumara, Trevanti and Yarran — from one codebase.

Highlights

  • Per-brand theming: each brand has its own Tailwind configuration and theme directory, with shared blocks as the default and brand-specific overrides where needed.
  • Theme selection from the CMS: editors choose the active brand in WordPress and the block resolver loads the right theme at request time.
  • An insurance-focused block library: document libraries for policy documents, stat blocks, USP grids, stacked links, parallax imagery and more.

Technical details

Schema-driven blocks

Mission 2025 is where the Nextpress fields.json system is most fully developed and documented. Every block declares its fields in code, with AND/OR conditional logic, so the WordPress admin, the PHP registration and the TypeScript props all share one source of truth.

Stack

  • Next.js 15 App Router, TypeScript, Tailwind CSS with nine brand configurations, Sass, GSAP, Swiper, React Hook Form, next-intl.
  • Headless WordPress with ACF, Dockerised locally and provisioned on AWS Lightsail with the Nextpress Makefile.
  • Frontend deployed to Vercel with a scripted deploy and custom Vercel configuration.