We design, build and maintain Amanina for Mama Hala Consulting: a matchmaking web app for families who marry with intention, in English, Arabic and French.
ⓘWhere each fact comes from: amanina.ca and its press and privacy pages (the link sits beside each claim), or our own build log, dated 4 October 2026. Amanina publishes no member, match or success figures, so this page has none. Screens marked Demo show made-up people.
The brief
Mama Hala Consulting wanted matchmaking the way families have always done it, carried into an app: a few introductions at a time, each one chosen and explained; family brought in with the member's consent; every faith kept as the member holds it — Muslim, Christian, Jewish, Druze and secular alike; real people only. It had to read naturally in English, Arabic and Quebec French, and install from a link, with no app store between a family and the door. The Marriage Compass — “Questions Our Family Consultants Ask” — is Mama Hala Consulting's own. Our job was to carry it into software without flattening it.
Built to keep bots, fakes and abuse out
The two systems that do the most to keep Amanina safe — and where a person still decides.
1
A live selfie, read by Claude's vision
Before anyone is introduced, each member proves they're a real person with a live selfie, or a government ID through Didit. Anthropic's Claude reads the selfie: is this one real person, here right now — not a bot's upload, a screenshot, a photo of a screen, a printout, a stock or celebrity picture, or a computer-generated face? And is it the same person as the profile photos?
Only members who pass are matched — on both sides of every introduction.
A new photo goes public only once it matches the member's selfie. Until then it stays private.
A clear fail is asked to try again. Anything unclear — or a selfie that doesn't seem to match the photos — is held for a person on Amanina's team, never rejected automatically.
The selfie itself is never stored.
If a government ID and the profile disagree, a person reviews it.
2
Every photo and every message, screened against the community guidelines
Claude screens each photo before it's stored and each message as it's sent. Nothing is sampled.
Photos: explicit images are refused outright, and only a photo that clearly passes is stored — otherwise the member is asked to try again. The same image can't be reused on another account.
Messages: scam scripts, requests for money, pushing a new contact off the app, pressure and threats, impersonation, harassment, hate and sexual content.
The most serious — threats of violence, sexual coercion — are stopped before they're delivered. Anything else flagged is delivered with a mark and put in front of a person, who decides: dismiss, warn, ban, or close the conversation.
Members' own reports land in the same queue.
Both sides of one introduction
Demo · made-up people, our own words
Step through one introduction the way Amanina makes it, from two people's own words to the moment both say yes. Nobody here is a real member, and nothing here is generated: we wrote every line.
1Two people, in their own words
Each fills in the Marriage Compass: what they believe, how they live, what they're looking for. Photos stay blurred.
You both described the same home: one where everyone still eats together.
Why you two
You keep your faith the same way, you both want children within a few years, and each of you named a parent as the first person you ask.
Worth asking
What does ‘close to family’ look like on an ordinary weekday?
Something to watch for
You expect to move for work; she plans to stay near her family. Better named now than found in month six.
FitStrong fit
Demo
ما استوقفنا
وصفتما كلاكما البيتَ نفسه: بيتًا يجتمع فيه الجميع حول المائدة.
ما يجمعكما
تعيشان إيمانكما بالطريقة نفسها، وتريدان أطفالًا خلال سنواتٍ قليلة، وسمّى كلٌّ منكما أحدَ والديه أوّلَ من يستشيره.
سؤالٌ يستحقّ أن يُطرَح
ماذا يعني لكِ «القرب من العائلة» في يومٍ عاديّ من أيام الأسبوع؟
ما يستحقّ التأمّل
تنوين البقاء قرب عائلتكِ، وهو يتوقّع الانتقال من أجل عمله. خيرٌ أن يُسمّى هذا الآن من أن يُكتشَف في الشهر السادس.
التوافقتوافق قوي
Demo
Ce qui a retenu notre attention
Vous avez tous les deux décrit le même foyer : un foyer où toute la famille se retrouve encore à table.
Pourquoi vous deux
Vous vivez votre foi de la même manière, vous souhaitez tous les deux des enfants d'ici quelques années, et chacun de vous a nommé un parent comme la première personne qu'il consulte.
À se demander
À quoi ressemble « être proche de la famille » un jour de semaine ordinaire ?
À surveiller
L'un de vous compte rester près de sa famille ; l'autre s'attend à déménager pour son travail. Mieux vaut le nommer maintenant que le découvrir au sixième mois.
Drawn only from Amanina's published privacy policy, and no deeper.
What arrives
What happens
Where it ends
The live selfie
Checked that it's a real, live person, then discarded. Never stored on Amanina's servers.
✕Discarded
ID document and its selfie
Uploaded straight to Didit's own hosted flow. They never reach Amanina's servers.
Never reaches Amanina's servers
The lineage part of the name on an ID
Turned into one-way hashes that keep close relatives apart. The name itself isn't kept.
KeptOnly the hashes
Photos
Screened, then kept blurred to others until interest is mutual.
Kept
Profiles, messages and consents
An encrypted store in Canada.
Kept
Matching, scam scanning, photo screening and the real-person check
Anthropic's Claude, with Amanina's own scoring rules.
Not used to train models
Source: amanina.ca/privacy, sections 5 to 7. If it isn't in the policy, it isn't on this map. amanina.ca/privacy↗
No face check says no on its own
When a photo and a live selfie don't seem to match, the decision goes to a person, or back to the member to try again — never to an automatic rejection. Face technology errs most on the people Amanina serves: women, people in head coverings, people with darker skin. Modest dress is never counted as a mismatch.
Photo and selfie don't seem to match
→A person decides
→The member tries again
✕Automatic rejection
How it's built
We built Amanina as one TypeScript monorepo: a public site and an installable web app from a single Expo codebase, an API behind them, and shared packages for languages, legal text and the matching rules. Introductions are read by Anthropic's Claude together with Amanina's own scoring rules, as its privacy policy says. It reads them only after the checks that are never traded off.
Next.js 16ExpoReact Native WebTypeScriptTurborepoUpstash RedisVercelStripeResendDiditWeb PushPasskeys (WebAuthn)Anthropic Claude
Launch was day 53. We kept going.
Amanina went live on 9 July 2026. By 4 October our build log had 1,492 commits on main, 791 of them after launch. Mama Hala Consulting runs Amanina; we keep the platform running:
14 scheduled jobs — matching runs, reminders, the final deletion after the 7-day grace period when a member leaves, and a watchdog.
A console for the people who run it, with alerts when something needs a human.
A copy-review ledger: approved wording in every language is registered, and the test chain fails if it changes unreviewed.
181 API routes behind one app installed from the browser.
17 May 2026First commit
9 July 2026Public launch
→Maintained since
From our build log, 4 Oct 2026
The result
Amanina has been live since 9 July 2026, installed from the browser on iPhone, Android, Mac and Windows, in English, Arabic and Quebec French. Every member is confirmed a real person, and every introduction is explained before anyone decides. We are still building it.
3
EN · AR · FR
Languages
4
a band, never a percentage
Parts to every introduction
53
Days to public launch
From our build log, 4 Oct 2026
791
to 4 Oct 2026
Commits after launch
From our build log, 4 Oct 2026
What neither of us publishes, and why
✕
Member, match or success numbers. Amanina says a number would be read as a promise. amanina.ca/press↗
✕
Prices and our fees. Pricing is Amanina's to state, and ours is between us and our client.
✕
The matching rules themselves. They belong to Amanina.
✕
Anyone's story. Not even the ones members chose to share on amanina.ca.
One client, two builds
mamahala.ca→amanina.ca
Mama Hala Consulting's own practice platform came first: a website, a 12-phase booking flow and an iPhone admin, in English and Arabic. Amanina came second.