Recovery Space
Live

Live in production · Recovery Space

A recovery platform in two languages, on two app stores

Daily check-ins, coach messaging, programmes and payments — bilingual Arabic/English with full RTL, shipped to iOS, Android and web on one shared backend.

iOS, Android and web Three front ends on one shared backend, so a change lands once rather than three times.
Arabic and English Full right-to-left on every screen from onboarding onward, with Arabic SEO of its own.
Live on both stores Submitted, reviewed and published — including three App Store review rounds.

The product

A coach in your pocket, without the noise.

Recovery Space was built with a recovery coach whose clients were scattered across direct messages on three different apps. Sessions were booked by hand. Progress lived in her memory. Arabic-speaking clients were reading an English interface.

The product replaces all of that with one calm place. A member opens the app to a thirty-second check-in — no numbers, no scoring, nothing that turns recovery into a leaderboard — and a streak that makes showing up feel manageable. Underneath sit structured programmes, private messaging with the coach, session booking and payment.

Every design decision came back to the same question: does this help someone on a bad day, or does it make the day worse? That ruled out the engagement mechanics most apps reach for first.

What it does

Daily check-ins

A thirty-second check-in each morning with AI-personalised responses, and safety validation on every generated message before it is ever shown.

Coach messaging

Private coach-to-client messaging with text, voice notes and images.

Programmes and payments

Structured coaching programmes, session booking, and payments through Stripe.

Notifications with consent

Push notifications with per-type consent, designed for a sensitive audience — nothing arrives that the person did not agree to receive.

The first screen: choosing Arabic or English
Arabic or English, from the first screen
The member home screen: morning check-in and streak calendar
Daily check-in
The coach profile page
Meet the coach

Bilingual, properly

Every screen works in English and Arabic with full right-to-left layout, from onboarding onward — built in from the first commit, not translated afterwards. The Arabic side carries its own SEO rather than sitting behind a language toggle where no search engine will find it.

Engineering that protects the user

Age verification is enforced at the database layer, so every client application passes through the same gate. A new app, an admin tool or a future integration cannot route around it, because the rule does not live in any of them.

The same principle governs the generated check-in responses: validation runs before delivery, not as a filter someone can disable in a settings screen.

Web, mobile and admin applications all reach the database through the same rules enforced inside the database itself, so no application can route around them. Web app Mobile apps Admin tools Row-level security, roles and branch scope — enforced in the database Only the rows that user may see
Every client application reaches the data through the same gate, enforced in the database.

Need one product in two languages?

Arabic and English, one backend, both app stores.