How We Built Native RTL Into Amakin
Right-to-left isn't a translation problem — it's a layout problem. Notes from getting it right across maps, dashboards, and admin tooling.
Three layers, one principle
RTL support in a serious product touches three distinct layers: text rendering, layout direction, and interactive controls. Get one right and miss the others, and the product feels broken in subtle ways. We tackled all three together from the start.
Text isn't the hard part
Browsers handle Arabic text rendering competently. The real work is at the layout level: which way does a sidebar slide in, where does a tooltip arrow point, how does a map scale bar reverse. We picked CSS logical properties everywhere and avoided absolute positioning. That single discipline removed most of the RTL bugs before they could exist.
For maps, we kept the geography in its native orientation (north stays up) but flipped UI overlays — legends, controls, scale bars. The result feels native, not translated.