SaaS development · UAE

SaaS products ready for your first paying customer.

SaaS development here is quoted at two weeks and at twelve. What differs is not speed, it is whether the thing being built can serve a second customer.

Tell us who has already said yes

What SaaS development is

What SaaS development decides first.

One codebase, many paying customers, none of them able to see another. That is the whole definition, and almost everything difficult about the build follows from the third clause.

SaaS · control planeTENANTSAcme CorpNorthwindGlobexisolated per tenantMRR · this monthAED 84,0001,240active users99.98%uptimePLANStarterProActiveScalebilling built inMulti-tenant, metered and billed — from day one.

Many customers, one codebase.

You ship once and everybody gets it, which is what makes the economics work. The cost of that is isolation: every query, every file and every report has to know which customer it belongs to, and there is no version of the product where that is optional.

The first version is a choice.

Asked how long a first version takes, this market answers two weeks and twelve. Neither number is wrong; they describe different products. The short one usually serves one customer, and the second customer is what turns it into a rebuild.

Billing is part of the product.

Subscriptions, plan changes, renewals and a document the buyer’s finance team accepts are features, not admin. Built in from the first invoice they cost a fortnight; retrofitted onto live customers they cost a migration and a difficult month.

What gets built

Six kinds of SaaS build.

Six briefs, and the difference between them is who the second customer is. Which one you are in decides what the first version has to contain.

MVP to validatevalidatingFirst users, first signalSignups1,200Activated480 · 40%Paying96 · 8%ship the smallest version, learn what sticks

A version somebody will pay for.

The smallest thing a named customer would put a card behind, built so the second customer is a signup rather than a project

Output

a product in use, and a written list of what was deliberately left out

Named buyerExcluded, in writing
B2B SaaSMRR AED 84KMRRAED 84KAccounts42Top accountsAcme CorpEnterprise25 seatsGlobexGrowth12 seatsInitechGrowth8 seatsseats, plans and renewals, built in from day one

B2B, sold to companies.

Teams, seats, roles and an invoice a finance department will accept, because the person using it and the person paying for it are rarely the same

Output

a product that survives its first procurement conversation

SeatsInvoiced
Vertical SaaSfor clinicsConfigured for your industryClinicsSalonsGymsAppointmentsPrescriptionsBillingPatient recordssoftware built for one industry, end to end

Built for one trade.

A product that knows one industry’s vocabulary, documents and sequence, which is the only durable advantage a small vendor has against a horizontal giant

Output

depth in one trade rather than breadth in none

One tradeDeep
Multi-tenant platformmeteredEvery tenant on their own plan, meteredAcmePro72%GlobexStarter40%InitechPro88%UmbrellaScale25%one platform, every customer on their own plan

Keeping customers apart.

The part that decides whether customer B can ever see customer A: enforced in the data rather than in the screens, and tested by trying to cross it

Output

a boundary you can demonstrate, not describe

EnforcedTested
White-label & APIyour brandYour brand, your domain, your APIapp.yourbrand.comsk_live_4f8a2b····9ccopyREST + GraphQL, 10k req/dayshipped as your product, on your domain, with your API

White-label, and an API.

Your product inside somebody else’s brand, or reachable by their developers, which is a distribution decision with an engineering bill attached

Output

a second channel, priced honestly before it is promised

DistributionVersioned
Internal tool to SaaSproductisedYour internal tool, turned into a productInternal toolSaaS productFreeProScalethe tool you built for yourself, sold to everyone else

An internal tool made sellable.

The most common origin story here, and the shortest route to a real one: something that already works for one company, opened to others

Output

the three things that were never built because there was only ever one customer

Already worksOpened up

Three shapes a first version takes

Assembled, built for one, or built for many.

All three get called an MVP and all three demo well. They differ on the day a second customer says yes.

Assembled on no-codeWired together from tools you rentBuilt for one customerA real build, with one company in mindBuilt for manyA product from the first commit
Who it can serveA handful, as long as nobody looks closely at the seams.One, properly. That is genuinely a good outcome for some products.Any number, because separating them was the first thing built.
The second customerA second copy of everything, kept in step by somebody remembering.A fork, or a rebuild. This is where the money goes.A signup. Nothing is copied and nobody is asked.
How it billsA payment link, and somebody raising documents by hand each month.An invoice, agreed once, usually outside the product.Inside the product, with plan changes and renewals as features.
Changing it laterFast, until the tool you rent changes its terms or its price.Straightforward for the one customer, painful for everyone after.A release. Everybody gets it at once, which is the point.
When it is rightTesting whether anyone wants it at all, before spending on a build.A product genuinely made for one organisation and priced that way.When you can name the second customer, or expect to within a year.
Where we would start.

Assembled, more often than founders expect. If the question is still whether anyone wants this, no-code answers it in weeks for the price of a subscription, and a build answers the same question months later at many times the cost. We will say so, and lose the project. That stops the moment you can name the second customer: from then on the rented tools are the constraint, and separation between customers is the one thing genuinely brutal to retrofit. If the product turns out to want a phone rather than a browser, that is a different question.

The UAE context

What MVP means in this market.

Webzenia has worked with Gulf clients since 2018. Four things about building a product here, and the first is visible on the search results page.

  1. 01of 04
    One word, two answersTwo weeks, or twelve

    The same first version is quoted at two weeks and twelve.

    None of them says what moves it, and the honest answer is not speed. The short version usually serves one customer, and the second customer turns it into a rebuild. A Dubai Silicon Oasis logistics-software founder on a Dtec free zone licence is choosing between those quotes without being told they describe different products.

    Our methodThe estimate stated with its variables, and what is excluded written down.
  2. 02of 04
    What the short quote skipsAnd one of the three is legal

    A short quote usually leaves out billing and isolation.

    A product founded in a free zone reaches mainland buyers through a distributor, a branch or a permit under Dubai’s Executive Council Resolution No. 11 of 2025, so the licence is the addressable market rather than a footnote. A Hub71 fintech on an Abu Dhabi free zone licence meets it at the first onshore contract.

    Our methodThe three settled in the scope, with the entity question raised before the build.
  3. 03of 04
    Which rail the buyer acceptsNot which one you can open

    UAE finance teams recognise some payment rails, not others.

    Network International, Telr and PayTabs are the names a local buyer expects, and a card charged from somewhere else can stall a renewal in an approvals queue. The reverse holds too: for customers outside the country a global processor is simply better. A Dubai Internet City software team selling both ways ends up running two.

    Our methodThe rail chosen against where the customers are, not against where the vendor is.
  4. 04of 04
    It usually already existsAnd it works for exactly one company

    Most products here began as an internal tool.

    That is a strong position and a specific piece of work: the three things never built are separation between customers, a way to bill, and anything that assumed one company’s habits. A SPARK founder in Sharjah productising a monitoring tool built for one factory floor is not starting from nothing.

    Our methodThe existing tool read for what one customer let it get away with.

What the engagement covers

Inside a SaaS build.

Six stages, and the first one can end with a recommendation not to build. Everything after it is priced against what the first customer actually agreed to pay for.

Scopenamed buyerIn the first versionExcluded, in writingThe one workflowSignup and billingOne customer typeRoles beyond the twoA mobile appBulk importsometimes the advice is to assemble it insteada document, rather than two memories

The scope, and the exclusions.

The smallest version a named customer would pay for, with the exclusions in a column of equal weight beside it, so a later argument has a document rather than two memories

Output

a scope, and sometimes advice to assemble it instead

Named buyerExclusions
First versionin use01Sign upself-serve02The one workflowdone properly03Chargecard on filein use, with a card behind ita product nobody can buy is a prototype

The version they can pay for.

Three steps and no more: self-serve signup, the one workflow done properly, and charging with a card on file

Output

something in use with a card behind it, because a product nobody can buy is a prototype however finished it looks

One workflowChargeable
Billingrenewals onPlansStarterone seatTeamup to tenBusinessunlimitedTax invoiceVAT 5%TRN 100 0000 0000 0003upgrades and renewals, without a spreadsheetrevenue that arrives on its own

Billing, plans and invoices.

Plans, upgrades and renewals running inside the product, and a tax document the buyer’s finance team will accept, on a rail chosen for where the customers are

Output

revenue that arrives without anybody raising a spreadsheet

PlansCompliant document
SeparationattackedSigned in as one customerselect * from records where tenant = another0 rowsrefused in the data layer,not filtered in the screena boundary attacked, rather than reviewed

Separation between customers.

Enforced in the data layer rather than in the screens, then tested by signing in as one customer and querying another’s records, where the answer is zero rows

Output

a boundary that has been attacked rather than reviewed

In the dataAttacked
Usage1 churn signalAccountLast seenNorthwind RetailtodayHarbour ClinicstodayVantage Logistics24 daysa roadmap argued from behaviour, not from the loudest

Seeing what customers use.

Usage per account, and the moment somebody quietly stops signing in, visible without an engineer running a query

Output

a roadmap argued from behaviour instead of from the loudest customer

UsageChurn signal
Hardeningon the used partsCheckout and billinghardenedThe one workflowhardenedAdmin, barely reachedleft aloneHanded over, in your namerepositoryinfrastructurebilling accountan investor can diligence it, a team can inherit it

Hardening, and the handover.

The scaling and security work done where customers actually went, and deliberately not done on the corner nobody reached. Plus the repository, the infrastructure and the billing accounts in your own name

Output

a product an investor can diligence

On the used partsYours

Our stack

Built with Stripe and PostgreSQL.

Five choices, each with a trade stated rather than a benefit listed. Select one to see what it buys and what it charges you for it.

Stripe
Why Stripe

Subscription billing, plan changes and renewals are a product to build in their own right, and this is the one nobody should be rebuilding in 2026.

How we excel

We choose it against where your customers are, not where you are. For buyers outside the country it is straightforwardly better; for a UAE finance team a local rail clears approval faster, and plenty of products end up running both.

Suits customers abroadCleared by a local buyerBest for
Chosen per marketBoth
A global rail onlyOutside
A local rail onlyOnshore
A payment linkNeither

How the build runs

From a paying customer to a product.

The order is set by where the money is. Nothing is hardened before we know which parts customers actually reached.

01Weeks 1 to 2Scoped

Scoping the smallest paid version.

We work backwards from somebody who has said they would buy it, and write down what is deliberately excluded next to what is in. The licence question is asked here rather than in a later legal review, because who you are allowed to sell to shapes which customers the first version has to satisfy. This phase can end with a recommendation to assemble it on tools you rent instead, and sometimes does.

  • Buyernamed, not assumed
  • Excludedwritten down
  • Licenceasked before the build
02Weeks 3 to 12Built

Building one workflow, with billing.

Signup, the core job and billing, built with the separation between customers already in the data layer, because that is the only part that is genuinely brutal to add afterwards. The billing rail is chosen against where the customers are. What we do not do is harden or scale anything at this stage: nobody yet knows which parts will carry the load, and guessing is how a first version arrives late.

  • Isolationin from the first commit
  • Billinga feature, not admin
  • Scalingdeliberately deferred
03Month 4 onwardRunning

Hardening what customers reached.

Usage tells us where the product is being used and where it is being avoided, and that is what gets the scaling and the security work rather than whatever seemed important at the start. The isolation boundary is attacked rather than reviewed. Then the repository, the infrastructure and the billing account move into your entity’s name, which is what makes the product something you can raise on.

  • Hardenedwhere usage went
  • Boundaryattacked, not reviewed
  • Accountsin your entity’s name

What is in and what is excluded, written down together, so a later argument has a document.

The scope, in writing
Named buyerIsolation firstScaling deferred

Our commitment

Four promises about the build.

A first product fails at the scope and at the second customer, not at the code. These four are written into the engagement for that reason.

  • The exclusions are written down.

    What the first version does not do is agreed at the same moment as what it does. A scope with no stated exclusions is not a scope, it is an expectation, and the argument about it happens later at the worst possible time.

  • Customers separated, and the boundary attacked.

    Enforced in the data rather than in the screens, then tested by signing in as one customer and reaching for another’s records. Where buyers ask which regime their data sits under, we answer before the build rather than in a questionnaire.

  • The code and the billing accounts are yours.

    Opened in your entity’s name at the start rather than transferred at the end, because a product whose source and revenue sit in a supplier’s account is not yet an asset you can raise on. Ending an engagement is a permissions change.

  • We say when no-code would do.

    If the open question is still whether anyone wants this, tools you rent answer it in weeks and a build answers it in months. Saying so costs us the project. A firm that never recommends the smaller option is not giving you an assessment.

Common questions

SaaS development, answered.

Next step

Scope the version someone will pay for.

Tell us what exists and who has already said they would buy it. We will come back with the smallest version worth building, and what waits.

Tell us what you need.

+971
Chat on WhatsApp