Marketing Design System

MacBook closed on a table
MacBook closed on a table
Who was this for?

Before building anything I needed to understand who the system was actually for.

Designers were reinventing structure every page. No shared patterns meant every project started from zero. Developers were getting handoffs that left too much open to interpretation -- states missing, behavior undocumented, questions that slowed everything down. Stakeholders had no confidence the brand would hold as the site scaled.

Defining the problem

Before building anything I needed to understand who the system was actually for. Designers needed flexible patterns they could move fast with. Developers needed predictable states and behaviors. Stakeholders needed confidence the brand would hold at scale.

How I built it

I worked atomic from the start. Atoms into molecules into organisms into templates into pages. Every decision at the token level so changes propagated instead of cascaded into manual updates. Everything built in Figma variables mapped directly to TIAA's Ethos atomic system so design and engineering were speaking the same language from day one.

Seventy-five patterns across five breakpoints and four brand palettes. Each one built for AEM's authoring model from the ground up, not retrofitted. Authors could only make decisions that made sense. Consistency stopped being something you enforced and started being something that just happened.

Annotations got us halfway there

Our first instinct was to document every pattern, every state, every behavior. It bridged the gap between design and engineering early on and gave contributors something to follow.

But as the system grew annotations fell out of sync. Design debt crept in quietly. Every new pattern became another thing to maintain by hand.

What we landed on

So Miraj and I shifted. Instead of annotating everything after the fact we built a template system that had the rules baked in from the start. Full page designs for every page type TIAA needed to produce at scale. Governed starting points that made the right decision the obvious one.

Before: custom design, review, interpretation, launch. Slow, inconsistent, designer-dependent.

After: pick a template, populate it, ship.

Junior designers and contributors could assemble pages confidently without a separate document telling them how. The system did the work instead of the annotations. When I left it was being set up for AI-based authoring. The structure was already there.

What shipped

0%

0%

more page launches.

0%

0%

growth in advice sessions.

0%

0%

drop in bounce rate.

0%

0%

faster page design.

Client

TIAA

Scope

UX/UI Design, System Design

Contributers

Darrin Amellio, Eric Shoemaker, Miraj Mehta

Duration

2023-2024

Scaling a century-old brand across enterprise marketing

TIAA was mid-rebrand. Eighteen fragmented design systems meant design, engineering, and content were all working from a different version of reality. No tokens. No breakpoints. No authoring logic for the CMS.

Teams couldn't ship consistently. Nobody was aligned. My director pulled me aside and said he needed me to fix it.

So I rebuilt the whole thing from scratch.

Marketing Design System

Marketing Design System

MacBook closed on a table

Client

TIAA

My role

UX/UI Design, System Design

Contributers

Darrin Amellio, Eric Shoemaker, Miraj Mehta

Duration

2023-2024

Scaling a century-old brand across enterprise marketing

TIAA was mid-rebrand. Eighteen fragmented design systems meant design, engineering, and content were all working from a different version of reality. No tokens. No breakpoints. No authoring logic for the CMS.

Teams couldn't ship consistently. Nobody was aligned. My director pulled me aside and said he needed me to fix it.

So I rebuilt the whole thing from scratch.

Who was this for?

Before building anything I needed to understand who the system was actually for.

Designers were reinventing structure every page. No shared patterns meant every project started from zero. Developers were getting handoffs that left too much open to interpretation -- states missing, behavior undocumented, questions that slowed everything down. Stakeholders had no confidence the brand would hold as the site scaled.

Defining the problem

I audited the existing pages and found the same problems everywhere. No reusable structure. Inconsistent hierarchy. Bespoke components that made every update its own project.

That audit became the blueprint.

How I built it

I worked atomic from the start. Atoms into molecules into organisms into templates into pages. Every decision at the token level so changes propagated instead of cascaded into manual updates. Everything built in Figma variables mapped directly to TIAA's Ethos atomic system so design and engineering were speaking the same language from day one.

Seventy-five patterns across five breakpoints and four brand palettes. Each one built for AEM's authoring model from the ground up, not retrofitted. Authors could only make decisions that made sense. Consistency stopped being something you enforced and started being something that just happened.

Annotations got us halfway there

Our first instinct was to document every pattern, every state, every behavior. It bridged the gap between design and engineering early on and gave contributors something to follow.

But as the system grew annotations fell out of sync. Design debt crept in quietly. Every new pattern became another thing to maintain by hand.

What we landed on

So Miraj and I shifted. Instead of annotating everything after the fact we built a template system that had the rules baked in from the start. Full page designs for every page type TIAA needed to produce at scale. Governed starting points that made the right decision the obvious one.

Before: custom design, review, interpretation, launch. Slow, inconsistent, designer-dependent.

After: pick a template, populate it, ship.

Junior designers and contributors could assemble pages confidently without a separate document telling them how. The system did the work instead of the annotations. When I left it was being set up for AI-based authoring. The structure was already there.

Tokens and patterns as architecture

I audited the existing pages and found the same problems everywhere. No reusable structure. Inconsistent hierarchy. Bespoke components that made every update its own project.

That audit became the blueprint.

What shipped

0%

0%

more page launches.

0%

0%

more page launches.

0%

0%

growth in advice sessions.

0%

0%

growth in advice sessions.

0%

0%

drop in bounce rate.

0%

0%

drop in bounce rate.

0%

0%

faster page design.

0%

0%

faster page design.