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.
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:
- Force a rewrite (impossible - no capacity)
- Do nothing (unacceptable - permanent fragmentation)
- Build a CSS-only toolkit (painful but pragmatic)
We chose option 3.
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.
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.
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.