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
| # | Decision | Options | Seed recommendation | Affects | Status |
|---|---|---|---|---|---|
| Q1 | Name and domain | mahalli (محلّي) / another name / one of the owner's existing domains | mahalli as the codename; domain mhlii.com approved by owner | Brand, Cloudflare for SaaS | Resolved: Brand name is Mahalli (محلي), primary domain is mhlii.com |
| Q2 | PSP partner | Moyasar / HyperPay / Geidea / PayTabs | Moyasar to start (the owner has prior experience from Qudra) provided it supports Tabby / Tamara and a revenue-share partner programme | R2, R5, Phase 1 | Resolved: Moyasar approved as the primary Saudi payment gateway |
| Q3 | BNPL path | Through the PSP only / direct partnership with Tabby and Tamara | Both: the PSP for integration, direct partnership for referral and qualification | Phase 1 | Open |
| Q4 | ZATCA | In-house Solution Provider / partner | Partner in Phase 1; evaluate in-house in Phase 4 | Cost, compliance | Open |
| Q5 | Postgres and data region | Neon / Supabase / Aiven in a nearby region; or a local provider | Needs actual verification of available regions before any PDPL promise | 05, marketing | Open |
| Q6 | Accounting | Embedded partner (Qoyod / Daftra / Wafeq) / in-house | Partner first | Phase 4 | Open |
| Q7 | Ad billing | The merchant's own account (OAuth) / centralised spend through the platform | Merchant account first (no fund custody) | R3, SAMA | Open |
| Q8 | Repository language | Arabic docs + English code / English only | — | Team | Resolved by ADR-0009: repository docs, comments, and commits are English; the product UI is Arabic by default with English |
| Q9 | Reuse of the owner's assets | wer-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 identity | Phase 0 | Partially 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 |
| Q10 | Default AI model | Sonnet 5 for general generation + Haiku 4.5 for cheap tasks / Opus 5 for summaries | Sonnet 5 + Haiku 4.5 with AI Gateway caching | Cost | Open (Sonnet 5 is wired as the text model in packages/ai; tiering and gateway pending) |
| Q11 | Git | Create the repository now on GitHub under the owner's account | Yes; protected main + claude/* branches for execution | Execution | Resolved: Active on GitHub under alswat1222/proj-all-saudi with protected main and PR workflows |
| Q12 | Deployment target for the Next.js apps | Vercel / Cloudflare via OpenNext / Docker on a VPS | Keep 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 regardless | 02, 04 costs, ADR-0008 | Open |
| Q13 | Moyasar recurring billing model | Tokenised card + platform-scheduled charges / Moyasar-hosted recurring (if available) / invoices with pay-by-link each cycle | Tokenise 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 then | R1, packages/payments, Phase 0–1 | Resolved: Tokenised card & hosted invoice at checkout; platform-scheduled charges with idempotency keys |