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.
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.
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.
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.
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 across 3 tiers and 12 cafés, 22 referrals, 10 fraud cases of 5 types, 6 rewards, 6 reason codes and 8 staff users.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.

Designed and built a clickable marketing automation platform for a Malta-based skincare brand selling across the EU: one contact record with provable consent per channel and purpose, welcome, abandoned cart, post-purchase and win-back journeys that respect caps and quiet hours, and a deliverability dashboard that checks the Gmail and Yahoo bulk sender rules.

Designed and built a clickable social media planning and approval tool for a Cardiff-based fitness franchise with 38 studios: one content calendar for every studio, a franchisee-drafts-brand-approves workflow, brand checks that flag weight-loss claims and missing ad labels, and a media library that knows which photos and tracks the brand still has the right to use.
Enterprise Software Engineering - Human + AI
Contact Us
© 2026 - Copyright. All Rights reserved Oceanlab
Location
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
Enterprise Software Engineering - Human + AI
Contact Us
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