CLIENT: Dar Sabra Coffee🇹🇳Tunisia

Ghorfa - Loyalty and Referral Platform with Fraud-Checked Rewards

Loyalty Platform for a Tunis Coffee Chain

Designed and built a clickable loyalty and referral platform for a Tunis coffee chain with 41 cafés: one member record and points ledger across every café and click-and-collect, tiers and rewards, service adjustments within limits, and referral rewards that are only paid after fraud checks.

Scope of Work
Product design, UI build and clickable demo
Industry
Marketing / Loyalty & Referrals
Enterprise
Compliance & Certifications
Organic Law 2004-63 (INPDP)Consumer Protection Law 92-117E-Commerce Law 2000-83IFRS 15

Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.

Impact

5 Screens
Clickable end to end

Programme dashboard, member search, member detail with 7 tabs, referral overview and the fraud review queue with its case panel. Every one of the 26 demo members opens their own record.

4 Checks
Before a referral pays

Shared device fingerprint with the referrer, a phone number that was a member before, more than 5 sign-ups from one code in 24 hours and more than 3 accounts on one device. Referrer points wait 7 days, capped at 10 rewarded referrals a year.

12 Months
Lot-based points expiry

Every earn creates a points lot, rewards draw on the oldest lots first, and lots expire on the 1st of the month 12 months after their earn month. Balances, points expiring in 30 days and tiers are all derived from the ledger.

26 Members
Realistic demo data

26 members across 3 tiers and 12 cafés, 22 referrals, 10 fraud cases of 5 types, 6 rewards, 6 reason codes and 8 staff users.

The Problem

Dar Sabra ran a paper stamp card, then a points plug-in on its tills that only worked in the café where a member signed up. A "bring a friend" offer paid out hundreds of free drinks to the same few people signing up their own second SIM cards, finance estimated outstanding points from a spreadsheet each year, and goodwill points were handed out with no record of why.

Our Solution

Ghorfa gives Dar Sabra one member record across every café and the online menu, a points ledger finance can reconcile, referral rewards held until the friend is shown to be a real new customer, and a record of the rules, adjustments and terms version behind every transaction.

The Challenge: Points That Behave Like Money

Loyalty points are a promise the chain has to keep and account for. Every earn, burn and expiry has to be traceable to a rule, a café and the terms version a member accepted, in Arabic and French, without opening the door to referral abuse.

Referral Offers Paid to Fake Friends

Self-referrals with a second SIM card, one phone holding several accounts and codes posted in public groups all look like new customers at sign-up. Rewards have to wait until a qualifying first purchase of at least 6.000 TND and the fraud checks have run.

A Liability Finance Could Not See

Under IFRS 15, points are a separate performance obligation held as deferred revenue until they are redeemed or expire. Finance needs points issued, redeemed, expired and adjusted, valued at a stand-alone selling price per point and an expected breakage rate.

Goodwill With No Paper Trail

Customer service gave points with no reason recorded. Each adjustment now needs a reason code, agents work within a per-entry limit (500 points by policy) and anything above it goes to a supervisor.

Member Data and Consent Under Tunisian Law

Organic Law No. 2004-63 requires a stated purpose, consent and security for member data. Marketing opt-ins are separate per channel and never pre-ticked, members must be 18 or older, and every terms acceptance is stored with the exact version text.

Our Approach: From Programme Rules to a Clickable Platform

01

Spec and Rules Research

Mapped 13 roles from loyalty manager and fraud analyst to barista and member, 44 screens across the staff console, the Habba member app, public referral and terms pages, the POS loyalty panel and the partner portal, and the data model for members, ledger entries, points lots, rewards, referrals, fraud cases and terms versions. Wrote down the rules the design follows: Tunisia's personal data law, consumer protection and e-commerce laws, IFRS 15 for points, and TND stored to three decimals.

02

Clickable Demo on a Production UI Kit

Built 5 key staff screens on a production dashboard kit, in French with Arabic tier and reward names: the dashboard with tier mix, earn and burn by channel, live campaigns against budget and a needs-attention list, member search, the member record with ledger, lots, vouchers, consents and devices, the referral funnel and rules, and the fraud queue with signals, evidence and linked accounts. Adjustments, blocks and fraud decisions run on local state.

03

What a Production Build Adds

Integration with the café POS for earn and burn at the till, the online menu and Konnect or ClicToPay payments, Infobip or Twilio SMS, push, Apple and Google Wallet passes, device fingerprinting such as Fingerprint or SEON, and month-end journals to Sage or Odoo. Staff auth by role, a full audit log, Arabic right-to-left layouts, and the remaining screens: programme rules, campaigns, finance liability and expiry runs, compliance, the member app, POS panel and partner portal.

Why It Works: Every Point Has a Reason

A Ledger Behind Every Balance

Each ledger entry shows the café or channel, the basket, the rules that awarded points, the points lots it drew on and the terms version in force, so a service agent can explain any balance line by line.

Referrals Held, Not Paid Blind

The referral chain panel shows each check a sign-up passed, was held on or failed. Held cases land in the fraud queue with their evidence and a graph of linked accounts, aged amber after 24 hours and red after 48, and release or reject needs a reason.

Limits Built Into Adjustments

Adjust points asks for a reason code, a note and evidence, shows the user's own limit, and sends anything above it for supervisor approval. Blocking a member cancels the points still on hold.

Member Data Shown Only When Needed

Phones are masked and revealing one is audited, search matches a phone number only in full, and the member record shows the terms version accepted and each marketing consent per channel with its wording version.

Related case studies

View all: Marketing & email
Logo
Oceanlab

Enterprise Software Engineering - Human + AI

Languages

Locations

Global Headquarters

21 Merchant Road, 3rd Floor, Singapore 058267

Main corporate office and leadership operations

North America Office

548 Market Street, PMB 12345, San Francisco, CA 94104

Client operations and business development

India Office

402 Shivalik Shilp II, SG Highway, Ahmedabad 380015

Engineering and delivery center

© 2026 - Copyright. All Rights reserved Oceanlab