Start with the job, not the technology
Write down who uses the app, what they do in it, and what you need to see afterwards. That one paragraph is your brief.
Here is an example from Uttra for a coffee roastery in Riyadh that wants pickup orders:
ابنِ تطبيق طلبات لمحمصة قهوة في الرياض: قائمة محاصيل بالصور والوزن والسعر بالريال شامل الضريبة، سلة، اختيار وقت الاستلام من الفرع، وإشعار للموظف عند كل طلب، ولوحة تعرض طلبات اليوم.
With Uttra, you paste that, and it plans the screens, creates the database, builds the pages in Arabic right-to-left, tests them in a real browser and gives you a preview. You refine by chatting or by clicking any element to edit it. If you want a mobile app, say so: Uttra builds React Native apps with Expo that you open on your own phone through Expo Go, or installable web apps.
Prices in riyals, VAT included
Saudi consumers expect to see the final price. VAT in the Kingdom is 15%, and showing prices inclusive of it avoids surprises at checkout. If your list price is 100 SAR before tax, the customer pays 115 SAR. Ask the builder to store the pre-tax price and calculate VAT in one place, so a future change in rate is a one-line edit.
Write the currency as ر.س in Arabic and SAR in English. Our guide to real RTL support shows how to keep numbers from flipping.
Payments: mada, Apple Pay and STC Pay
mada is the national debit network, and most Saudi shoppers expect it at checkout next to Apple Pay and credit cards. STC Pay is common as a wallet. You do not connect to these networks yourself; you open a merchant account with a payment gateway licensed to operate in the Kingdom, and it handles the networks for you. Moyasar, HyperPay, Tap and PayTabs are among the names Saudi businesses use.
The safe pattern is always the same: the card is entered in the gateway's own form, your server confirms the payment with the gateway, and an order is marked paid only after that confirmation. We walk through it with code in adding mada payments to an AI-built app, and the Arabic mada guide covers the merchant side. Buy-now-pay-later options are covered in Tabby and Tamara.
ZATCA e-invoicing
The Zakat, Tax and Customs Authority (ZATCA) requires VAT-registered businesses to issue electronic invoices, known as Fatoora. The first phase covers generating compliant e-invoices with a QR code on simplified invoices; the second phase integrates invoicing systems with ZATCA's platform and is being rolled out to businesses in waves.
For a new app, decide early which system issues the invoice. Many merchants send order data to a ZATCA-compliant accounting or POS product instead of building invoicing in. The Arabic guides on ZATCA e-invoicing and the step-by-step invoice tutorial go deeper.
This page is general information, not tax advice. Confirm your obligations with ZATCA or your accountant.
A .sa domain
A .sa or .com.sa address tells customers you are local. Registration goes through accredited registrars, and some .sa categories ask for supporting documents such as a commercial registration. Once you own it, connecting it is a matter of DNS.
Publish the app
In Uttra, publishing starts from the Pro plan and produces a real production build with automatic SSL.
Choose a custom domain
On the publish screen, pick custom domain and enter your address, for example
roastery.sa. Custom domains carry no extra cost on paid plans.Add the DNS records
Copy the records Uttra shows, usually a TXT record for verification and an A record, into your registrar's control panel.
Verify
Press verify. Once DNS has propagated, the app answers on your own domain.
More detail in the Arabic .sa domain guide.
Personal data and the PDPL
Saudi Arabia's Personal Data Protection Law (PDPL), overseen by the Saudi Data and AI Authority (SDAIA), applies once your app collects names, phones or addresses. Collect only what you need, explain why in a clear Arabic privacy notice, get consent where required, and know where data is stored.
On that last point, be clear-eyed. Uttra stores project data on global infrastructure, with each project in its own isolated environment, and your code and content stay yours to download at any time. If your sector requires data to stay inside the Kingdom, such as some health or government work, check that requirement before you launch. The Arabic PDPL guide lists the basics.
Gateway and messaging API keys never belong in code: Uttra stores them as environment variables in a separate secrets vault.
Arabic-first experience
Design Arabic first and derive English from it. Use an Arabic typeface, mirror direction icons, keep phone fields left to right, and write copy the way customers speak, with local details such as opening hours around prayer times. Test at 390 px width.
What it costs to start
| Stage | Uttra plan | Monthly price (VAT incl.) |
|---|---|---|
| Try the idea, build and preview | Hobby | 0 SAR (600 one-time credits) |
| Publish one app on your domain | Pro | 99 SAR, or 84 SAR/month yearly |
| Several published apps | Pro+ | 199 SAR, or 169 SAR/month yearly |
| A team of up to 5 | Studio | 399 SAR, or 339 SAR/month yearly |
You pay Uttra with mada, Apple Pay or a card, and receive a tax invoice. Domain and gateway fees are separate. Plan details are on the pricing page.
When Uttra fits
Uttra suits founders, shop owners and freelancers who want an Arabic app working this week and owned outright: the code can go to your own GitHub at any time. For large or regulated systems, treat it as the fast route to a first version and review it carefully before production.