Design Systems and UI in a Bi-directional World

Bookmark
Project website
Rate this content

When DeepL added Arabic—its first RTL language—it wasn’t just a styling problem, it was a design systems challenge. This talk will go deep on logical CSS, platform-agnostic icon mirroring and automation, soft enforcement strategies for design consistency, and how to wield influence across hundreds of engineers with minimal headcount. This isn’t a story about building components—it’s about wiring them together at scale, with smart defaults, localization and directional and empathy.

This talk has been presented at React Summit US 2025, check out the latest edition of this React Conference.

FAQ

DeepL is known as a language AI platform that provides best-in-class translations, capturing nuanced and human-sounding translations. It is particularly popular in Europe.

Supporting right-to-left layouts is important because over 400 million people read and write in right-to-left languages like Arabic, Hebrew, and Persian. It ensures accessibility and usability for a significant global audience.

Key considerations include avoiding letter spacing, treating Arabic words as unbreakable units, increasing line height to prevent diacritics overlap, and choosing fonts that accommodate Arabic punctuation.

The dir attribute in HTML informs the browser of the document's text direction, enabling automatic adjustments for right-to-left languages in layout and text alignment.

Logical CSS properties, such as start and end instead of left and right, help create direction-agnostic styles that adapt automatically based on the text direction, ensuring consistent UI behavior.

DeepL centralized icons in Figma, annotating them with directional properties. A build tool fetches icons, generates TypeScript definitions, and updates documentation, automating direction handling.

DeepL's design system uses a context value and a hook to manage right-to-left support in React components, allowing direction-agnostic styles and handling edge cases in positioning and alignment.

Developers can find the slides and resources mentioned in Matt Sikathian's talk at buy.ui.com or contact him through his personal website cardogram.ca.

Matt Sikathian is a Canadian front-end developer living in Berlin who has worked at Shopify and DeepL. He has a background in design and has been involved in transforming UIs to support right-to-left layouts.

Design tokens in DeepL's design system encode design decisions into metadata, ensuring consistent application of styles and facilitating automation, reducing deviations and enhancing scalability.

Matt Seccafien
Matt Seccafien
19 min
21 Nov, 2025

Comments

Sign in or register to post your comment.
  • Matt Seccafien
    Matt Seccafien
    DeepL
    Thanks Seungho! Thats great to hear! It was a great learning opportunity, and DeepL was the first time I have worked on a product that had this requirement.
  • Seungho Park
    Seungho Park
    LG Electronics
    Amazing talk. Bi-di has always been a big topic in our product as well.
Video Summary and Transcription
Matt Sikathian emphasizes the importance of supporting right-to-left layouts in web development and the challenges faced in implementing Arabic scripts effectively. Adapting UI to right-to-left reading aligns with users' cognitive patterns, with CSS advancements showing promise in meeting diverse language needs. The unique considerations of Arabic script in UI design, technical adjustments necessary for Arabic typography, and handling bi-directional layout challenges using direction-agnostic approaches are discussed. The talk also covers enhancing React for logical CSS properties, building UI tools with icon mirroring, and streamlining icon management and automation for improved developer workflow.

1. Supporting Right-to-Left in UI

Short description:

Matt Sikathian, a front-end developer, discusses supporting right-to-left layouts and Arabic in design and development. DeepL, a language AI platform, played a vital role in his journey. The importance of supporting right-to-left layouts and the challenges faced in web development are highlighted.

Hey, what's up, React Summit. My name is Matt Sikathian, and I'm here to talk about user interfaces in a bidirectional web. But first, some quick things about me. I'm a Canadian front-end developer living in Berlin. I started as a designer, launched my own product portfolio with my partner, Fiona. I spent six intense years at Shopify, and over the last two years, I've been working at DeepL on the design system team.

And for anyone who might not know of DeepL, it is a language AI platform that cut its teeth as a best-in-class translation machine, well-known in Europe for capturing nuanced and human-sounding translations, leaving it to be the preferred choice by most. And I have to say that DeepL was an indispensable app when Fiona and I moved to Germany as non-German speakers. And it continues to be essential for our survival here. And this was a big reason why I wanted to work there.

One of my first projects at DeepL was transforming our UIs to support right-to-left layouts as we prepared to add Arabic to the platform of already 30 supported languages. And that's what qualifies me to speak here today. I'll take you through why supporting right-to-left matters, our strategic approach, and the key learnings you can apply if you find yourself supporting right-to-left layouts or Arabic in your own design and development practice. You can find these slides and all of the resources I'll be mentioning at buy.dai.ui.com, buy.directional.ui.com. I'm hoping this becomes an ongoing and open resource to complement this talk. So with that, let's get started with the why.

2. Importance of Right-to-Left Support

Short description:

Supporting right-to-left is crucial due to the vast number of users who read and write in this direction daily. Despite its importance, web support for right-to-left languages is often faulty. DeepL's approach aimed to address these issues and serve underserved markets by understanding and implementing right-to-left interfaces effectively.

Why bother supporting right-to-left at all? Well, these numbers should speak for themselves. 313 million people speak Arabic as their first language. I have 10 million Hebrew speakers and 130 million Persian speakers. And you're looking at over 400 million people who read and write for right-to-left every single day. The market opportunity is pretty clear. Yet despite this massive audience, it's a fact that right-to-left support is consistently broken on the web. If you know what to look for, you'll spot errors everywhere, even on sites run by Microsoft and Google.

And look, I get it. This work is genuinely hard and we've been conditioned to think of right-to-left as an afterthought. But that doesn't make it acceptable. I highly recommend watching Rami Ismail's video on this topic. He articulates just how bad these errors can feel to native speakers. He also mentions notarabic.com, which catalogs countless examples of botched Arabic script in major motion pictures, on billboards, in video games, everywhere. It's a funny and eye-opening talk. And these are exactly the kinds of problems that we set out to avoid at DeepL.

Arabic was one of the most requested languages on our platform. And this project would open us up to users in 22 new countries and serve markets that were largely underserved by quality translations. Before starting, we did extensive research to understand the mental model of right-to-left interfaces. And if we were going to invest in this, we were going to do it right. So let's get specific. What are we actually doing when we talk about right-to-left support? You can basically think of it as mirroring a layout. Visually, imagine looking at your hands and flipping everything from your left hand over to your right hand. Or, think of it like holding a mirror up to the website.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Design Systems: Walking the Line Between Flexibility and Consistency
React Advanced 2021React Advanced 2021
47 min
Design Systems: Walking the Line Between Flexibility and Consistency
Top Content
The Talk discusses the balance between flexibility and consistency in design systems. It explores the API design of the ActionList component and the customization options it offers. The use of component-based APIs and composability is emphasized for flexibility and customization. The Talk also touches on the ActionMenu component and the concept of building for people. The Q&A session covers topics such as component inclusion in design systems, API complexity, and the decision between creating a custom design system or using a component library.
Build a Design System with React and Tailwind CSS
React Summit 2022React Summit 2022
27 min
Build a Design System with React and Tailwind CSS
Top Content
This Talk discusses design systems and how to build one using React and Tailwind CSS. Tailwind CSS provides utility classes for building complex layouts without writing CSS rules. Custom colors can be added to the Tailwind CSS config file, and font styles and text sizes can be customized. The entire Tailwind CSS configuration can be customized to meet specific requirements. Base styles can be added to the config file itself using a plugin. Reusable components can be created with Tailwind CSS, allowing for easy customization of size and color.
Walking the Line Between Flexibility and Consistency in Component Libraries
React Summit 2022React Summit 2022
27 min
Walking the Line Between Flexibility and Consistency in Component Libraries
This Talk discusses the comparison between Polaris and Material UI component libraries in terms of consistency and flexibility. It highlights the use of the action list pattern and the customization options available for the action list component. The Talk also emphasizes the introduction of a composite component to improve API flexibility. Additionally, it mentions the importance of finding the right balance between flexibility and consistency and the use of types to enforce specific child components.
Find Out If Your Design System Is Better Than Nothing
React Summit 2022React Summit 2022
20 min
Find Out If Your Design System Is Better Than Nothing
Building a design system without adoption is a waste of time. Grafana UI's adoption is growing consistently over time. The factors affecting design system adoption include the source mix changing, displacement of Homebrew components by Grafana UI, and the limitations of Grafana UI's current state. Measuring adoption is important to determine the success of a design system. The analysis of code through static code analysis tools is valuable in detecting and tracking component usage.
Type-safe Styling for React Component Packages: Vanilla Extract CSS
React Advanced 2023React Advanced 2023
19 min
Type-safe Styling for React Component Packages: Vanilla Extract CSS
Watch video: Type-safe Styling for React Component Packages: Vanilla Extract CSS
Today's Talk introduces Vanilla Extract CSS, a type-safe styling method for React applications. It combines the benefits of scoped styling, zero runtime overhead, and a great developer experience. Vanilla Extract generates a static CSS file at build time, resulting in better performance. It is framework agnostic and offers a powerful toolkit, including Sprinkles for utility classes and CSS utils for calculations. With type safety and the ability to define themes and variants, Vanilla Extract makes it easy to create efficient, scalable, and maintainable design system component packages.
Dialog Dilemmas and Modal Mischief: A Deep Dive Into Pop-Ups
JSNation 2023JSNation 2023
10 min
Dialog Dilemmas and Modal Mischief: A Deep Dive Into Pop-Ups
The Talk discusses the use of dialogues and popovers in web development. Dialogues can be modal or non-modal and are now accessibility-supported. Popovers are versatile and can be added to any element without JavaScript. They provide suggestions, pickers, teaching UI, list boxes, and action menus. Modal and non-modal dialogues and popovers have different behaviors and dismissal methods. Browser support for these features is expanding, but there are still open questions about positioning, semantics, and other use cases.

Workshops on related topic

From Chaos to Clarity: Managing Agentic System Complexity in Cloud-Native FinTech
TechLead Conference 2025: AI in OrgsTechLead Conference 2025: AI in Orgs
49 min
From Chaos to Clarity: Managing Agentic System Complexity in Cloud-Native FinTech
Workshop
Sibasis Padhi
Sibasis Padhi
Overview:        AI adoption brings system complexity, especially when autonomy, orchestration, and cloud-native microservices collide. Based on my published research and enterprise experience, this workshop breaks down the complexity of deploying agentic systems responsibly. This workshop is aimed at senior engineers who are navigating cloud-native architectures while introducing autonomous AI components, without a clear blueprint.Contents:1. The New Complexity Stack    a) Microservices, AI, and third-party code generators    b) Where system chaos starts and why it escalates
2. Understanding Agentic AI Behavior    a) Autonomy, memory, and hallucination risk    b) Real-world examples from financial decision support
3. Design Patterns for Clarity    a) Guardrails for system observability    b) Tradeoffs: orchestration vs code generation
4. Scalability Without Burnout    a) What senior engineers must lead: governance, ethics, reliability     b) Designing systems that scale safely under load
5. Takeaways    a) Agentic adoption roadmap    b) How to test and monitor non-deterministic AI    c) Alignment with team velocity and business outcomes
Rapid UI Development in React: Harnessing Custom Component Libraries & Design Systems
React Advanced 2022React Advanced 2022
118 min
Rapid UI Development in React: Harnessing Custom Component Libraries & Design Systems
Workshop
Richard Moss
Richard Moss
In this workshop, we'll take a tour through the most effective approaches to building out scalable UI components that enhance developer productivity and happiness :-) This will involve a mix of hands-on exercises and presentations, covering the more advanced aspects of the popular styled-components library, including theming and implementing styled-system utilities via style props for rapid UI development, and culminating in how you can build up your own scalable custom component library.
We will focus on both the ideal scenario---where you work on a greenfield project---along with tactics to incrementally adopt a design system and modern approaches to styling in an existing legacy codebase with some tech debt (often the case!). By the end of the workshop, you should feel that you have an understanding of the tradeoffs between different approaches and feel confident to start implementing the options available to move towards using a design system based component library in the codebase you work on.
Prerequisites: - Familiarity with and experience working on large react codebases- A good understanding of common approaches to styling in React