Marketing teams need speed. Engineering teams need a system. The compromise is not “no design system”—it is a system with intentional escape hatches.
- Primitives over pages — buttons, bands, cards, heroes, and prose styles as shared components.
- CMS maps to sections — WordPress (or GraphQL) returns structured sections; React chooses composition, not raw HTML soup.
- Campaign slots — one or two flexible blocks editors can use without inventing new layout languages.
- Performance budgets — motion, images, and third-party scripts stay behind route-level decisions.
On a headless WordPress + Next.js stack, this keeps Core Web Vitals honest while editors still ship. When you need help structuring that layer, start a conversation.



