Syntax Design System

Driving adoption when reality fights back

Since January 2023, I've been leading the design direction of Syntax, a design system for the localization industry serving 6 products across a newly merged company. The challenge wasn't building the design system. It was getting teams to actually use it.

The Stakes

For customers: Inconsistent experiences across products. Same tasks, different patterns.

For business: New volume-based pricing required platform thinking, not disconnected tools.

For teams: Constant reinvention. No reuse. Compounding tech debt.

An isometric view of some of the Syntax components
An isometric view of some of the Syntax components

The Problem

When Memsource acquired Phrase in 2022, everyone agreed we needed a unified design system. But agreement ≠ adoption.

Technical reality:

  • 3 tech stacks (Vue, Rails, Grails)
  • 2 products couldn't adopt without complete rewrites
  • Biggest product (TMS) stuck on decade-old codebase

Organizational reality:

  • Bottom-up desire, top-down constraints
  • Teams buried in feature work
  • I was new, with limited influence

My Approach: Pragmatic Incrementalism

I couldn't wait for perfect conditions. Instead, I focused on making adoption progressively easier, not forcing it.

Build for scale, not specificity
Composable, modular patterns that flex across use cases. Say no to hyper-specialized components.
Meet teams where they are
Different tech stacks = different adoption paths. Find pragmatic bridges, even uncomfortable ones.
Default to good
Make the right choice the easiest choice. Adoption happens organically, not through mandate.
Prove value in production
Components must work in real product complexity, not just Storybook demos.

The CSS Toolkit: An Uncomfortable Compromise

Two products were built in Rails. Our design system was built in Vue. A complete rewrite would take months the engineering team didn't have.

The options:

  1. Force a rewrite (impossible - no capacity)
  2. Do nothing (unacceptable - permanent fragmentation)
  3. Build a CSS-only toolkit (painful but pragmatic)

We chose option 3.

Case study image

What it solved:

Rails products could use Syntax's visual language - colors, typography, spacing, basic styles - without changing their tech stack.

What it didn't solve:

Complex component logic. Tables, dropdowns, filters - teams had to rebuild these themselves. Every update requires maintaining two systems.

TMS adoptio until March 2025
TMS adoptio until March 2025

Three years later: The tech debt is compounding. The gap between Vue and CSS-toolkit products grows each quarter. Updates take twice as long.

Was this the right call?

At the time: Yes. I was new, with limited influence. Rails teams needed something, and a full rewrite wasn't realistic.

Now: It bought time and partial consistency, but didn't solve the underlying problem - just postponed it.

The lesson: Halfway solutions have a shelf life. Sometimes they're necessary to move forward, but you're trading immediate progress for future complexity.

Where We Are Now

4 out of 6 products have adopted the Vue design system. The remaining 2 use the CSS toolkit.

TMS - our biggest, most complex product - is currently migrating. This migration is driven by engineering's KPI to escape legacy Grails, not by the design system team. But it's proving the system's value in production at scale.

The migration is slow. TMS is extremely complex, and theteam's capacity is split between migration work and strategic MVP projects.

Case study image

What I learned:

You can't adoption-strategy your way out of technical debt

No amount of great documentation or stakeholder management can overcome fundamental tech stack mismatches. Real change requires engineering capacity and top-down commitment.

Build influence early

By the time I realized we needed executive sponsorship for migrations, teams were already entrenched in their workarounds. Starting with stronger top-down support would have accelerated adoption significantly.

Pragmatic beats perfect

The CSS toolkit compromise wasn't elegant, but they moved things forward. In constrained environments, incremental progress is real progress.

Momentum compounds - slowly

Three years felt long while living it. But now, with TMS migrating and proving the system works at scale, other teams are watching. The next product adoption will be easier than the last.

Group photo from a team activity after our roadmap meetup
Group photo from a team activity after our roadmap meetup

More case studies