Skip to content
ع
All projects

Rooh Al-Jouf

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

Rooh Al-Jouf: A digital guide to the Al-Jouf region and everything in it.
Role
Client project: mobile development
Year
2025
Status
Shipped
Category
Mobile

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.

Overview

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.

Built with

  • React Native
  • Expo Router
  • TypeScript
  • i18n
  • Firebase
  • React Query
  • Reanimated
  • Deep Linking

Where to find it

Challenges

Bilingual means the layout mirrors, not just the words

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.

Solution

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.

Events go stale faster than releases ship

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.

Solution

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.

Heavy imagery on a tourist's connection

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.

Solution

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.

Results

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