Mawadda
A marriage app built around Islamic values: the woman makes the first move, a female intermediary guides every match, and men and women never message each other directly.
Today, without it:
- swipe
- message anyone
- photos on show
With Mawadda:
- Her: Requirements (Must or Flexible, both ways)
- Her: Private signal (One at a time)
- Her: Photo (Encrypted, shown once)
- Waseeta: Guides the match (Every message passes through her)
- Him: Told later (In batches, days later)
- Him: No direct messages
- Families (Once interest is mutual)
The hard part: Her photo is revealed only with her consent.
The problem
Mainstream apps run on swiping, direct messaging, and photos on show by default. A serious search for marriage needs structure, a trusted intermediary, and the woman’s control over what is shared and when.
What it does
- Private signals she sends, one active at a time
- Conversations that run only through the waseeta
- Requirements marked Must or Flexible, checked in both directions
- An encrypted photo reveal, only with her consent
- Arabic first, with English and right-to-left layouts
A match is a state machine
Every match moves through explicit states: her signal, the waseeta’s involvement, the man being told, mutual interest, and the handoff to the families. Each transition checks who is allowed to make it, is guarded against two changes landing at once, has its own deadline, and is recorded in a history table by a database trigger. Men hear about signals in batches, days later, rather than instantly.
Privacy is the product
Men and women never message each other: every conversation runs through the waseeta. The woman’s photo is revealed only with her consent and when the waseeta releases it. It is watermarked and encrypted with AES-256-GCM on her device before upload, then shown once, through a single-use link, for fifteen seconds; the key is cleared after that first view, and the waseeta never receives it.
Security reviewed before the pilot
Two security-review passes came before the pilot. They tightened access to messages, made photo storage private, limited compatibility data to people in an active match, and kept every new account unverified until a person has checked it.
Architecture
- An Expo (React Native) app in TypeScript for iOS, Android, and the web, with the pilot’s web build deployed on Vercel
- Supabase and PostgreSQL with row-level security, and 33 Edge Functions holding the business logic
- Realtime conversations, and scheduled jobs in pg_cron for batching, reminders, and timeouts
The diagram on this page is an illustrative system flow, not a screenshot of the product.