Design Dialects: Breaking the Rules, Not the System

Published on March 27, 2026

“Language is not merely a set of unrelated sounds, clauses, rules, and meanings; it is a totally coherent system bound to context and behavior.” — Kenneth L. Pike

The web has accents. So should our design systems.

Design systems aren’t merely component libraries—they’re living languages. Tokens are phonemes, components are words, patterns are phrases, layouts are sentences. The conversations we build with users become the stories our products tell.

But here’s what we’ve forgotten: the more fluently a language is spoken, the more accents it can support without losing meaning. English in Scotland differs from English in Sydney, yet both are unmistakably English. The language adapts to context while preserving core meaning. This couldn’t be more obvious to me, a Brazilian Portuguese speaker who learned English with an American accent and lives in Sydney.

Our design systems must work the same way. Rigid adherence to visual rules creates brittle systems that break under contextual pressure. Fluent systems bend without breaking.

The promise of design systems was simple: consistent components would accelerate development and unify experiences. But as systems matured and products grew more complex, that promise has become a prison. Teams file “exception” requests . Products launch with workarounds instead of system components. Designers spend more time defending consistency than solving user problems.

Our design systems must learn to speak dialects.

A design dialect is a systematic adaptation of a design system that maintains core principles while developing new patterns for specific contexts. Unlike one-off customizations or brand themes, dialects preserve the system’s essential grammar while expanding its vocabulary to serve different users, environments, or constraints.

At Booking.com, I learned this lesson the hard way. We A/B-tested everything—color, copy, button shapes, even logo colors. As a professional with a graphic design education and experience building brand style guides, I found this shocking. While everyone fell in love with Airbnb’s pristine design system, Booking grew into a giant without ever considering visual consistency. The chaos taught me something profound: *consistency isn’t ROI; solved problems are.*

At Shopify, Polaris was our crown jewel—a mature design language perfect for merchants on laptops. As a product team, we were expected to adopt Polaris as-is. Then my fulfillment team hit an “Oh, Ship!” moment, as we faced the challenge of building an app for warehouse pickers using our interface on shared, battered Android scanners in dim aisles, wearing thick gloves, scanning dozens of items per minute, many with limited levels of English understanding.

Task completion with standard Polaris: 0%.

Every component that worked beautifully for merchants failed completely for pickers. White backgrounds created glare. 44px tap targets were invisible to gloved fingers. Sentence-case labels took too long to parse. Multi-step flows confused non-native speakers.

We faced a choice: abandon Polaris entirely, or *teach it to speak warehouse.*

We chose evolution over revolution. Working within Polaris’s core principles—clarity, efficiency, consistency—we developed what we now call a design dialect:

| Constraint | Fluent Move | Rationale |
|————————|——————————–|————————————————|
| Glare & low light | Dark surfaces + light text | Reduce glare on low-DPI screens |
| Gloves & haste | 90px tap targets (~2cm) | Accommodate thick gloves |
| Multilingual | Single-task screens, plain language | Reduce cognitive load |

Result: Task completion jumped from 0% to 100%. Onboarding time dropped from three weeks to one shift.

This wasn’t customization or theming—this was a dialect: a systematic adaptation that maintained Polaris’s core grammar while developing new vocabulary for a specific context. Polaris hadn’t failed; it had learned to speak warehouse.

At Atlassian, working on the Jira platform—itself a system within the larger Atlassian system—I pushed for formalizing this insight. With dozens of products sharing a design language across different codebases, we needed systematic flexibility so we built directly into our ways of working. The old model—exception requests and special approvals—was failing at scale.

We developed the Flexibility Framework to help designers define how flexible they wanted their components to be:

| Tier | Action | Ownership |
|——————-|—————————|————————————————–|
| Consistent | Adopt unchanged | Platform locks design + code |
| Opinionated | Adapt within bounds | Platform provides smart defaults, products customize |
| Flexible | Extend freely | Platform defines behavior, products own presentation |

During a navigation redesign, we tiered every element. Logo and global search stayed Consistent. Breadcrumbs and contextual actions became Flexible. Product teams could immediately see where innovation was welcome and where consistency mattered.

Flexibility needs boundaries. We created a simple ladder for evaluating when rules should bend:

Good: Ship with existing system components. Fast, consistent, proven.

Better: Stretch a component slightly. Document the change. Contribute improvements back to the system for all to use.

Best: Prototype the ideal experience first. If user testing validates the benefit, update the system to support it.

The key question: “Which option lets users succeed fastest?”

Rules are tools, not relics.

Gmail, Drive, and Maps are unmistakably Google—yet each speaks with its own accent. They achieve unity through shared principles, not cloned components. One extra week of debate over button color costs roughly $30K in engineer time.

Unity is a brand outcome; fluency is a user outcome. When the two clash, side with the user.

How do you maintain coherence while enabling dialects? Treat your system like a living vocabulary:

Document every deviation – e.g., dialects/warehouse.md with before/after screenshots and rationale

Related News