MahalliMahalli Handbook

Open Questions

Decisions that still need the owner — name and domain, PSP, BNPL path, ZATCA, data region, accounting, ad billing, asset reuse, AI model, deployment target, and Moyasar recurring billing — with the seed's recommendation for each.

08 — Open decisions that need the owner

#DecisionOptionsSeed recommendationAffectsStatus
Q1Name and domainmahalli (محلّي) / another name / one of the owner's existing domainsmahalli as the codename; domain mhlii.com approved by ownerBrand, Cloudflare for SaaSResolved: Brand name is Mahalli (محلي), primary domain is mhlii.com
Q2PSP partnerMoyasar / HyperPay / Geidea / PayTabsMoyasar to start (the owner has prior experience from Qudra) provided it supports Tabby / Tamara and a revenue-share partner programmeR2, R5, Phase 1Resolved: Moyasar approved as the primary Saudi payment gateway
Q3BNPL pathThrough the PSP only / direct partnership with Tabby and TamaraBoth: the PSP for integration, direct partnership for referral and qualificationPhase 1Open
Q4ZATCAIn-house Solution Provider / partnerPartner in Phase 1; evaluate in-house in Phase 4Cost, complianceOpen
Q5Postgres and data regionNeon / Supabase / Aiven in a nearby region; or a local providerNeeds actual verification of available regions before any PDPL promise05, marketingOpen
Q6AccountingEmbedded partner (Qoyod / Daftra / Wafeq) / in-housePartner firstPhase 4Open
Q7Ad billingThe merchant's own account (OAuth) / centralised spend through the platformMerchant account first (no fund custody)R3, SAMAOpen
Q8Repository languageArabic docs + English code / English only—TeamResolved by ADR-0009: repository docs, comments, and commits are English; the product UI is Arabic by default with English
Q9Reuse of the owner's assetswer-www design system (Somar Sans / OKLCH) / the Aseelos AI engine / Qudra patterns (AI Gateway, Moyasar idempotency)Reuse patterns, not code; a new design system with a new identityPhase 0Partially resolved: the glass design system (docs/design/glass-design-system.md, IBM Plex Sans Arabic, OKLCH hue 165) is the new identity; Qudra's Moyasar patterns remain a reference for Q13
Q10Default AI modelSonnet 5 for general generation + Haiku 4.5 for cheap tasks / Opus 5 for summariesSonnet 5 + Haiku 4.5 with AI Gateway cachingCostOpen (Sonnet 5 is wired as the text model in packages/ai; tiering and gateway pending)
Q11GitCreate the repository now on GitHub under the owner's accountYes; protected main + claude/* branches for executionExecutionResolved: Active on GitHub under alswat1222/proj-all-saudi with protected main and PR workflows
Q12Deployment target for the Next.js appsVercel / Cloudflare via OpenNext / Docker on a VPSKeep the code deployable to all three through Phase 0; decide before Phase 1 based on data-region (Q5), cost per merchant, and the storefront's need for Cloudflare for SaaS. Cloudflare stays for DNS, custom hostnames, and R2 regardless02, 04 costs, ADR-0008Open
Q13Moyasar recurring billing modelTokenised card + platform-scheduled charges / Moyasar-hosted recurring (if available) / invoices with pay-by-link each cycleTokenise the card at checkout and schedule charges from apps/jobs with idempotency keys (the Qudra pattern); confirm Moyasar's current recurring capabilities before implementing. stripe stays the reference implementation until thenR1, packages/payments, Phase 0–1Resolved: Tokenised card & hosted invoice at checkout; platform-scheduled charges with idempotency keys

On this page