Takaful Golden
Membership discount-card app — issuance, counter-side verification and annual renewal for a national medical network.

// By the numbers
- 5+
- Years in production
- 2
- Client platforms
- 60%
- Discount ceiling
- 24h
- Issuance turnaround
live on the App Store since October 2020 and still updated in 2025
iOS and Android from a single Flutter codebase
the client's advertised member discount across its provider network
the client's stated time from signup to an active membership
What the business was up against
A discount card is only worth what a receptionist will accept. Selling the membership was never the hard part; making it usable at the counter was. Members carried a printed card, and neither side of the desk could reliably answer the two questions that actually matter — is this membership still valid, and is this clinic even in the network? Printed provider lists went stale the month they were issued, membership status lived in the head office, and every disputed discount turned into a phone call to the call centre while the member stood waiting.
A membership app for a Saudi medical and lifestyle discount card. Members subscribe and pay in-app, receive a digital card whose validity can be checked on the spot, and browse the medical and commercial network that honours it — Arabic-first, on iOS and Android, against a Laravel backend that holds membership state as the single source of truth.
How it's put together
Mobile App
Flutter — iOS & Android
Digital Membership Card
Presented and checked at the counter
Membership API
Subscription · issuance · expiry · renewal
Network Directory
Providers, offers and coupons
Relational Database
Members, providers, offers
Payment Gateway
Hosted checkout for annual dues
Push Notifications
New offers and renewal reminders
Membership state lives in one record; the app, the card and the call centre all read from it.
The calls that shaped it
The handful of decisions that determined how this system behaves — and what each one bought.
- 01
Membership validity is a screen, not a profile detail
The verification moment is the product, so it gets the shortest path in the app rather than being buried in an account page. A member can prove standing in seconds at the desk, which is the difference between a card that gets honoured and a card that gets argued about.
- 02
The provider network is served, never shipped
A network that changes every month cannot live inside an app binary. Providers, offers and coupons are fetched from the API, so the directory a member sees is current without waiting on a store release — and stale provider data is worse than none, because it sends someone to a clinic that will turn them away.
- 03
One record owns membership state
Subscription, issuance, expiry and renewal all read from a single record in the backend, so the app, the printed card and the call centre can never disagree about whether someone is covered. Reconciling three versions of the truth was the failure mode worth designing out first.
- 04
Card details never touch the app or the server
Annual dues are collected through a hosted gateway flow. Payment credentials go straight from the member to the processor, which keeps card data — and the compliance burden that follows it — out of a codebase maintained by a small team.
- 05
One Flutter codebase for both platforms
A single client for iOS and Android is why a small team could keep shipping: the app was still receiving updates more than four years after launch, which a two-codebase build of this size rarely survives.
- 06
Arabic-first, not Arabic-also
Every member is a Saudi consumer, so Arabic and right-to-left layout were the default case the interface was designed around rather than a translation pass applied afterwards.
Signature capabilities
Counter-side verification
The screen that proves a membership is current sits one tap from launch, because the card's entire value is whether a receptionist will accept it in the moment it is presented.
Server-driven provider network
Clinics, partners, offers and coupons are fetched from the backend, so a network that changes monthly stays accurate without shipping a new build to the stores.
Subscription and renewal
Annual dues are taken in-app through a hosted gateway, with expiry and renewal reading from the same membership record the verification screen uses.
Single source of truth for membership
One record in the backend backs the app, the issued card and the call centre, so coverage questions have exactly one answer.
Arabic-first mobile experience
The interface was designed around Arabic and right-to-left layout from the outset, for an audience that is entirely Arabic-speaking.
Business feature set
The functional scope delivered across every part of the product.
Members
- Sign up and obtain a membership
- Digital membership card
- Profile and household details
- Inquiries and customer support
- Arabic interface with right-to-left layout
- Push notifications
Membership lifecycle
- In-app subscription payment
- Membership validity check
- Expiry visibility
- Annual renewal
- Renewal reminders
Network & offers
- Browse the medical provider network
- Browse commercial and leisure partners
- Filter providers by category
- Current offers and discount coupons
- Provider detail and contact
Platform
- Server-driven directory, updated without a release
- Hosted payment flow, no card data stored
- Single codebase for iOS and Android
- Maintained in production across five years
What changed operationally
Documented outcomes from the delivered system. Where exact figures are confidential, the operational change is stated instead.
- Live on the App Store and Google Play since October 2020, still receiving updates in 2025
- Membership verification moved from a call to the call centre to an in-app check
- Provider network and offers updated server-side, with no app release required
- Annual subscription collected in-app through a hosted payment flow
- One Flutter codebase serving both iOS and Android
- Arabic-first interface with full right-to-left layout
What we had to work within
- The card is presented at a clinic desk — verification has to work in seconds, in front of staff
- Provider network changes continuously and cannot be tied to app release cycles
- Membership is a paid annual subscription, so billing and expiry have to be exactly right
- Consumer audience across the Kingdom, entirely Arabic-speaking
- Small maintenance team — the build had to stay cheap to run for years, not months
What I owned
End-to-end on this project — from architecture and data modelling through to a shipped, production product.
- Flutter application for iOS and Android
- Laravel API and membership data model
- Subscription payment integration
- Provider network and offers directory
- Push notification delivery
- Store submission and release management
Built with
Mobile
Backend
Data
Integrations
Want something like Takaful Golden?
Boutique software studio — agency-quality systems, shipped by one senior engineer.
// Related work


