Ritla UI rollout

Arabic-ready components, rolled out where yours break

We replace the components that keep breaking in Arabic with Ritla components, so the fixes stay fixed.

Price
Scoped after a scan
Timeline
Set by the rollout map
Starts with
A free scan
Live Ritla components: the phone number stays left to right inside the Arabic form.
Why this exists

Some Arabic defects are not bugs in your page, they are properties of a component: a phone field that lets the browser reorder the number, a date picker that only knows left to right, an icon that points backwards in every screen that uses it. Fixing each screen by hand fixes it until the next one ships. A rollout replaces the component itself with its Ritla equivalent, built against the same checks the scanner runs, so the class of defect leaves with it. The scan decides which components earn a replacement; the ones that already pass stay yours.

This is for you if

The situations this engagement was built for.

  • The same Arabic defect keeps coming back on every screen that reuses a component

  • Your team fixes RTL issues screen by screen and the list never gets shorter

  • You are building new Arabic flows and want them correct from the first commit

  • Checkout, sign-up or payments carry revenue and cannot wait for a redesign

The difference

A screen flipped, and a screen built

The same Arabic transfer card twice: one is an English screen flipped by a stylesheet, the other is built with Ritla components. The numbered pins are the defects a rollout removes at the component, once.

Mechanically mirrored
تحويل مبلغرقم الهاتف+962 79 123 4567تم التحقق من الحسابمتابعة
  1. A Latin system font and a tight line height: the Arabic sits cramped, its marks clipped.
  2. The phone number without isolation: its digit groups reorder around the spaces.
  3. The check mark mirrored along with everything else. A tick has no direction.
  4. The forward arrow copied from English, so in Arabic it points back.
Built with Ritla · Kanz theme

IBM Plex Sans Arabic with Arabic line heights; the phone number kept left to right inside the right-to-left form; the tick untouched; the arrow following the reading direction.

Illustrative: live HTML and CSS. Drawn from our own fixtures and public-site scans, not a client engagement.

Scope

What is in the engagement

What you get

  • A baseline scan, archived, with each finding traced to the component that causes it
  • A rollout map: which components to replace, which to keep, and why, ranked by how many screens each one breaks
  • Ritla components installed as source in your repository, adapted to your props and your data
  • A pilot on one real flow first, measured, before anything wider is touched
  • Pull requests you review and merge, one component or one flow at a time
  • Verification scans at every breakpoint, iterated to clean on the flows in scope
  • A short handover: how the components mirror, what never mirrors, and how to extend them

What we need from you

  • Repository access, or a fork we can open pull requests against
  • A React codebase using Tailwind, or a decision to adopt it for the components in scope
  • A staging environment where the scanner can reach the Arabic build

What this does not cover

  • Components that already pass: replacing working code is churn, and the scan tells us which ones those are
  • Frameworks other than React. We scope other stacks case by case rather than promise them
  • Translation itself: we fix the container the Arabic sits in, not the words
Process

How it runs

Timeline: Set by the rollout map. Every step ends with something you can see.

  1. Week 1

    Scan and map

    A full crawl, then each finding traced to the component behind it. The rollout map ranks components by how many screens they break, and the ones that already pass are left alone.

  2. Weeks 1 to 2

    Pilot one flow

    The components one real flow needs, installed and adapted to your props and data, scanned before and after. The pilot is where you decide whether the rest is worth doing.

  3. By scope

    Roll out

    The remaining components on the map, one pull request per component or per flow, so review stays small and nothing lands unseen.

  4. Final week

    Verify and hand over

    Scans at every breakpoint on the flows in scope, iterated to clean, and a short handover on what mirrors, what never does, and how to extend the components.

Get started

Scan first. Then we talk about your findings.

The scan takes about a minute and costs nothing. Your enquiry arrives with it attached, so the reply starts from evidence about your site rather than questions about it.

  • Paste the URL of your Arabic page.
  • See your score and top findings.
  • Tell us what you need. A person replies within one working day.

Start with a scan

We would rather look before we talk. Give us the URL and we will run the same scan the homepage runs, then you can tell us what you need.

https://
FAQ

Questions about the UI rollout

How is this different from an RTL conversion?

A conversion fixes the code you have. A rollout replaces the components that cause a class of defect, so screens built later with them start correct. Many teams do a little of both, and the scan shows which one each finding needs.

Do we have to replace every component?

No. The scan decides. Components that already pass stay yours, and the rollout map is ranked by how many screens each component breaks, so the first pull request is the one that removes the most defects.

Who owns the components afterwards?

You do. They are installed as source in your repository, not loaded from a package you depend on, so your team can read and change them like any other code.

How is it priced?

Scoped after a scan. The number of components on the rollout map and the flows in scope decide the work, and we quote from those rather than from a discovery call.

Find out where your Arabic stands

A free scan of one page, scored and explained in about a minute. If it tells you everything you needed, that is a good outcome too.