Skip to content

How to Build an App in Saudi Arabia Without Coding

To build an app in Saudi Arabia without coding, describe it in Arabic or English to an AI builder, show prices in riyals including 15% VAT, take payments through a licensed gateway that supports mada and Apple Pay, plan for ZATCA e-invoicing, publish on a .sa domain and handle personal data under the PDPL.

Last updated:

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:

Example briefTry it in Uttra

ابنِ تطبيق طلبات لمحمصة قهوة في الرياض: قائمة محاصيل بالصور والوزن والسعر بالريال شامل الضريبة، سلة، اختيار وقت الاستلام من الفرع، وإشعار للموظف عند كل طلب، ولوحة تعرض طلبات اليوم.

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.

  1. Publish the app

    In Uttra, publishing starts from the Pro plan and produces a real production build with automatic SSL.

  2. 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.

  3. 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.

  4. 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

StageUttra planMonthly price (VAT incl.)
Try the idea, build and previewHobby0 SAR (600 one-time credits)
Publish one app on your domainPro99 SAR, or 84 SAR/month yearly
Several published appsPro+199 SAR, or 169 SAR/month yearly
A team of up to 5Studio399 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.

Frequently asked questions

Yes, for most business apps such as booking, ordering, stores and dashboards. You describe what you need, the builder produces and tests it, and you refine by chat or by clicking elements. Coding knowledge helps for complex logic but is not required to start.

Related pages