Practice
How it was built.
A concept, built like production work. One library behind three journeys, checked the same way every time. Here is how, and where the line between me and the machine sits.
One library, many sends
Every email here is assembled from one set of components, not drawn from scratch. The library holds over 150 bulletproof, table-based components: shells, heroes, editorial blocks, buttons, loyalty and countdown modules, and the interactive and dark-mode patterns. A marketer composes on-brand and cannot break the render. Adding a stage to a series takes a day, with no new components.
One token source, two projections
Colour, type, spacing and radius live in one token file. The site reads them as live CSS variables. Emails cannot: clients strip the style block and drop var(). So the same tokens compile to inlined, literal values, bulletproof across the inbox. One source, two projections, so the site and the send never drift.
Accessibility and dark mode, built in
Accessibility is not a pass at the end. Every colour pair carries its measured contrast and clears AA, light and dark, in every state. Layout tables carry role="presentation", images carry alt text, targets stay 44px, and each email reads single-column at 320px. Dark mode is engineered per client, not left to chance.
The QA gate
Measure eight times, cut once. Each email passes a ten-check gate before it ships: HTML validity, file size, links, spam score, dark mode, accessibility, Outlook fallback, images, brand rules and personalisation syntax. A render below the confidence threshold pauses for a human. It does not auto-ship.
The part the role asks for
Governance and adoption
A library is only as good as its adoption. A component earns its place by proof, not preference: it is used, render-proofed and reviewed, then promoted a layer once a second team needs it. Marketing, servicing, brand and engineering read the same tokens and the same guidance, so teams stay consistent without a meeting. I would run it the way I ran it for a decade: short workshops, written onboarding, and live demos, because a team that understands the system keeps it alive.
Where the machine helps, where I decide
AI agents did a lot of the building here, at speed, and a nine-agent pipeline assembles and checks each email. I made the calls. The structure, the token rules, the honesty about what renders where, and the reason behind each email are mine. The machine assembles and checks; the human decides what is worth assembling.