Haitham Assoli

← All projects · SHEET A-123

Rooh Al-Jouf

A digital guide to the Al-Jouf region and everything in it.

Title block
RoleClient project: mobile developmentYear2025
StatusShippedRoomMobile
Built withReact Native · Expo Router · TypeScript · i18n · Firebase · React Query · Reanimated · Deep Linking
Where to find it
Rooh Al-Jouf
ELEVATION · A-123 · SCALE 1 : 1

1 · General notes

What it is, and why it exists.

A bilingual tourism guide for Al-Jouf in Saudi Arabia: heritage and tourist sites, live events and festivals, a directory of local restaurants and cafés, and the historical and cultural background behind them. Built for both a first-time visitor and a resident.

Regional tourism apps usually fail in one of two ways: they are a brochure that never changes, or they are a map with pins and no reason to care about any of them. Al-Jouf has genuine depth in heritage sites, seasonal festivals and a food scene, and the client wanted all of it in one place.

The app covers sites, events, and places to eat, each with the historical and cultural context that makes a visit worth making. It is fully bilingual, which for a Saudi tourism product is not a nice-to-have.

2 · Challenges

DETAIL 1

Bilingual means the layout mirrors, not just the words

The problem

Switching to Arabic flips the entire interface: navigation direction, icon orientation, list alignment, back gestures. Translating strings alone produces an app that reads Arabic but behaves English.

As built

Direction is a property of the whole tree rather than a per-screen fix, so layout, navigation and gestures all mirror together. Anything directional is expressed in start/end terms instead of left/right.

DETAIL 2

Events go stale faster than releases ship

The problem

A festival listing that is a week out of date is worse than no listing. Store review cycles are far slower than the pace at which a seasonal events calendar changes.

As built

Events, sites and venues are all remote content the client edits directly. Shipping a build is never on the critical path for keeping the app current.

DETAIL 3

Heavy imagery on a tourist's connection

The problem

A guide is mostly photographs, and it is opened by people on roaming data at a heritage site with one bar of signal, the worst possible conditions for the app's heaviest content.

As built

Images are served at the size they are displayed and cached on disk after first view, so browsing back through places already seen costs nothing.

3 · Results

  1. 3.1Shipped on both the App Store and Google Play for a Saudi client.
  2. 3.2Fully bilingual with a properly mirrored right-to-left layout.
  3. 3.3Content managed by the client without app releases.

4 · Elevations

Rooh Al-Jouf — 1
ELEVATION 1
Rooh Al-Jouf — 2
ELEVATION 2
Rooh Al-Jouf — 3
ELEVATION 3
Rooh Al-Jouf — 4
ELEVATION 4
Rooh Al-Jouf — 5
ELEVATION 5
Rooh Al-Jouf — 6
ELEVATION 6

Next sheet

Sada →

Arabic subtitles for English YouTube, translated on your device.