Scaling Design System Contributions at Amazon Ads

I created a community contribution system for Amazon Ads' Storm design system, enabling designers across dozens of teams to share complex components and patterns that couldn't exist in Storm's core library. This system provided a structured pathway for experimental and backend dependent components while setting the team up for measurable future success.

My Role & Approach

Key contributions

  • Created contribution framework with another designer, establishing clear pathways for community components

  • Designed contribution workflow from submission through potential graduation to Storm core

  • Built tracking system using Asana connected to submission forms

  • Developed communications strategy for launch and ongoing education

  • Established support infrastructure with office hours, crit sessions, and dedicated Slack channel

The Challenge

Amazon Ads' Storm design system served as the foundation for a $56 billion platform, but teams frequently needed complex components that required backend integration or user-specific data, which couldn't exist in Storm's core library. Without a structured way to share these patterns, teams were reinventing solutions that had already been built elsewhere.

Storm Core maintained high standards—production-ready components with no backend dependencies. But teams needed:

  • Complex patterns requiring backend integration or user data

  • Experimental components like AI interfaces that weren’t as yet represented in code

  • Shared solutions to avoid duplicate work across teams

  • Clear distinction between core Storm and community contributions

My Approach

Working with another designer, I:

  • Co-created the framework distinguishing Storm Core from Community Library

  • Designed the contribution workflow from submission to publication

  • Built tracking infrastructure connecting forms to project management

  • Developed communications for launch and ongoing engagement

  • Established support systems to enable contributor success

Community Library System

Positioning the Community Library

I worked with stakeholders to define the role of the community library within the broader Storm ecosystem:

Community Library documentation in Figma explaining positioning is distinct from Storm Core

Storm Core

  • Production-ready components

  • No backend dependencies

  • Fully documented and maintained by Storm team

  • Available in Storm UI repository

Contribution Workflow Design

I created a flowchart articulating the end-to-end contribution process, making it clear and accessible for designers across dozens of teams. The workflow established:

Submission Phase

  • Clear criteria for what qualifies as a community library component

  • Guidance distinguishing between components suited for Storm core vs. community library

  • Standardized submission form (connected to Asana) capturing component details, complexity, and dependencies

  • Required documentation standards

Review Phase

  • Governance structure for evaluating submissions

  • Quality standards balancing accessibility with consistency

  • Assessment of backend/data dependencies

  • Feedback mechanism for contributors

Publication Phase

  • Process for adding approved components to the community library

  • Documentation requirements for published components, including dependency notes

  • Version control and maintenance expectations

Community Library

  • Complex patterns requiring backend/user data

  • Experimental components (e.g., AI interfaces)

  • Incubator for potential Storm Core candidates

  • Maintained by contributing teams with Storm guidance

This distinction set clear expectations and helped teams understand when to contribute to the community library.

Communications & Change Management

To drive awareness and adoption of the new community library system, I developed communications materials, including:

  • Announcement strategy introducing the system to designers across Amazon Ads

  • Educational content explaining when and how to use the community library vs. Storm core

  • Usage guidance clarifying the distinction between simple components (Storm) and complex patterns (community library)

These communications were designed to shift designer behavior from building in isolation to contributing to and leveraging shared resources, particularly for complex patterns.

Supporting Contributors

To enable designer success and foster a contributing culture, I established comprehensive support infrastructure:

Office Hours:

  • Twice-weekly sessions where designers could get guidance

  • Support for technical questions, contribution process, design review

  • Lowered barrier to entry for first-time contributors

Weekly Design System Crit:

  • Open sign-up session for any designer working on Storm-related components

  • Provided feedback before formal submission

  • Helped refine components and catch issues early

  • Built community and shared learning across teams

Dedicated Design System Slack Channel:

  • Real-time support for design system queries

  • The community could help each other

  • Shared examples and best practices

  • Announced new community library additions

These support mechanisms directly contributed to the system's adoption by making contributions feel accessible rather than daunting.

Tracking Infrastructure

To enable data-driven decisions about component promotion and measure success against our goals, I created:

Asana Board:

  • Tracking system for all component submissions

  • Workflow stages from submission through publication

  • Assignment and ownership clarity

  • Historical record of contributions

  • Tagging for component types (complex/data-dependent, experimental, potential Storm candidates)

Connected Form:

  • Standardized intake reducing friction for contributors

  • Automatic Asana task creation

  • Captured essential information: component description, use case, team/product, backend/data dependencies, documentation

This infrastructure was designed to provide visibility into contribution patterns and usage data, enabling evidence-based decisions about which components merited Storm integration or continued investment.

Impact & Outcomes

Why This Matters

Prevents reinventing the wheel

  • Makes complex patterns discoverable so teams don't rebuild what already exists

  • Centralizes solutions for components that can't exist in Storm core due to complexity

Reduces duplication and inconsistency

  • Eliminates redundant work across teams on similar complex patterns

  • Creates more consistent experiences across products through shared approaches

Enables data-driven decisions

  • Provides usage and implementation data to identify which complex patterns merit continued investment

  • Creates clear pathway for patterns to be abstracted and elevated to Storm when dependencies can be removed

Accelerates product development

  • Improves discovery and reuse of complex components across dozens of teams

  • Reduces time spent recreating solutions that already exist elsewhere in product

  • Provides interim access to emerging components (like AI patterns) before formal Storm integration

Drives operational efficiency

  • Structured sharing of design assets reduces wasted effort

  • Supports faster iteration through reusable complex patterns

  • Creates clear graduation path from experimentation to production-ready core system

Success Metrics Defined

Quantitative targets (first 90 days)

  • Library growth: 7 → 12 components

  • Component usage: 703.67 → 808 average insertions per week (15% increase)

  • Ease of contribution: 79% → 82% annual Storm satisfaction survey score

Qualitative indicators

  • Designer adoption and engagement with the system

  • Quality and consistency of contributed components

  • Reduction in duplicate implementations of complex patterns

  • Success rate of community components graduating to Storm core when abstracted

  • Effectiveness as a staging area for emerging patterns like AI components

Strategic Impact

  • Scaled design system governance beyond central team to distributed contribution model

  • Created solution for complex patterns that Storm core couldn't address

  • Established pipeline for identifying and promoting successful patterns to Storm core when appropriate

  • Set precedent for structured community contribution within Amazon Ads

  • Balanced control and accessibility maintaining quality while enabling broad participation

  • Enabled faster innovation by providing interim home for experimental components during development

  • Strengthened Storm ecosystem through clear distinction between core and community offerings

Screenshot of a guidance card template detailed view, showing sections for increasing sales, awareness, performance, videos, and performance metrics, with text, icons, and a small video thumbnail.