Skip to content
All work

Multi-language platform

Real Estate Portal

A nine-language property platform with full right-to-left and CJK parity, and an admin panel with real approval workflows, a lead SLA clock and a 53-code permission matrix behind it.

Delivered · proof of concept v0.1 · 2026

  • 9

    languages, fully mirrored

  • 53

    permission codes

  • 5

    step property wizard

  • 1

    docker compose up

Real Estate Portal home page: a navy editorial hero over a Doha skyline photograph, with a gold eyebrow, a serif headline reading 'Find your place in Qatar', and a compact property search panel below.

01 The problem

  • Gulf property portals need genuine multi-language parity — not a translate widget bolted onto an English site.
  • Right-to-left is usually treated as a CSS flip, which breaks typography, numerals and optical weight.
  • The operations behind a portal need approvals, SLAs and permissions. A CMS does not provide those.

02 The approach

  • Nine languages with Arabic, Urdu and Chinese fully translated and fully mirrored — including per-script typography, because Naskh at the same pixel size reads at roughly 60% of a Latin serif's optical presence.
  • Western numerals preserved in every language for prices, areas and phone numbers, consistent with Gulf portal practice.
  • An approval trail with real states — draft, team leader, marketing, published — rather than a single publish toggle.

03 What it does

Nine languages, properly

Arabic, Urdu and Chinese are fully mirrored, with a separate type scale per script: a bigger Naskh hero headline set from the font's own metrics, and a 13px micro-label tier for Arabic-script and CJK where 11px plus tracking is a Latin-only setting.

Photography matched in code

29 free-licence photographs are matched to listings by property type and price band, with role scoping, a country filter, and a regression test asserting no photograph is the main image of two listings.

Real approval workflow

A five-step property wizard feeding a draft → team leader → marketing → published trail, with a lead SLA clock and a 53-code permission matrix.

Mobile puts the form first

Contact and request-a-viewing are order-swapped below the large breakpoint, so the first input sits above the fold instead of behind 900–1150px of reassurance copy.

05 Interface

The same home page rendered in Arabic, fully mirrored right-to-left, with Naskh headings and Western numerals preserved.
Arabic — fully mirrored, not CSS-flipped
Property listing page showing a sticky filter rail, applied-filter chips and a three-column results grid of property cards.
Listing — sticky filters, no ragged trailing row
Property detail page with the title, price and reference above the gallery, and a sticky enquiry panel on the right.
Detail — price and reference above the gallery
The home page rendered in Simplified Chinese with a CJK-specific type scale.
Simplified Chinese — its own type scale
Admin panel sign-in screen on a navy background.
Admin — approvals, SLA clock, permission matrix

Built with

  • Django
  • Python
  • React
  • TypeScript
  • Ant Design
  • PostgreSQL
  • Docker
  • i18n / RTL