Zenowebzenweb

Dubai · Web Development

Custom web development in Dubai — built without a ceiling in it.

A codebase written for your requirements rather than adapted from someone else's — a content model shaped to your content, a performance budget enforced through the build, and the repository in your account from the first commit rather than at final invoice.

  • No themes, no page builders
  • Repository yours from commit one
  • Performance budget agreed up front

What's included

Six things a bespoke build gives you that a theme does not.

Each one is a decision a template has already made on your behalf. On a custom build they are yours, and they are made in front of you.

  • The front end, written from the design

    Markup, styling and interaction built from the design at every breakpoint, instead of the design being trimmed to fit a theme's grid. Keyboard reachable and semantically structured, and nothing loads on a page that the page does not use.

  • A content model shaped to your content

    Services, projects, locations and people modelled as records with real fields, not as pages full of formatting. Editors fill in fields and the layout holds — and one record can appear as a card, a listing and a detail page without being written three times.

  • A back end only where the requirement is data

    Forms, search, filtering, scheduled feeds, and a database where the content genuinely is data. Where a page can be static it stays static: cheaper to run, faster to serve, one less thing that can be down. Logins, roles and records are a web application, and get scoped as one.

  • The systems you already run, joined to it

    CRM, ERP, accounting, payment and courier APIs wired in so enquiries and orders land where your team already works. The part that decides whether it holds is the failure path — what the site does when the other system is slow, down, or has quietly changed its response.

  • A performance budget the build stays inside

    Agreed during architecture and enforced through the build rather than profiled in the final week. It is also the case for custom in one sentence: on a theme, most of the weight on the page arrives with the theme, and you chose none of it.

  • Arabic as routing, not as a plugin

    Bidirectional layout, mirrored navigation and form alignment, and a typeface selected for Arabic rather than inherited from a fallback. Each language gets its own URL, so both versions are indexable and linkable. Included from the Growth tier.

Who it's for

Three reasons to build from scratch — and the test for each.

Custom is the more expensive answer to most questions, and it is the wrong one more often than anyone selling it will admit. If none of these describe you, WordPress almost certainly does, and we would rather say so on the first call than in a proposal.

  • Your content is really a set of records

    Services, projects, properties, branches, people — things that appear in several places at once and change independently of the pages that display them. A page-per-item CMS makes you maintain each of them everywhere it appears, which is how a price ends up right on one page and wrong on two others.

    The same fact is edited in more than one place, from memory.

  • You have already hit the ceiling once

    The theme covered everything until the one thing it did not, and the quote for that one thing was startling. Every change since has started with a plugin search, and each plugin is another update, another script on the page, and another vendor who can break your site on their release schedule.

    Your last few requests came back as “the theme can't do that”.

  • Somebody technical will inherit it

    You have developers, you are hiring one, or you are buying on behalf of an IT function that will ask what the stack is, where the repository lives and how it deploys before it asks how the homepage looks. A theme carrying twenty plugins does not survive that conversation, and a proprietary builder survives it less.

    Someone at your company will open the repository before the site.

How we deliver it

Five stages, and the first one can end the project.

Each stage produces something you can open, run or disagree with. Nothing is shown for the first time at the end.

  1. 01

    The ceiling test

    Before anything else, we establish what this site has to do that an off-the-shelf platform will not. If the honest answer is nothing, we say so and quote WordPress instead. Where the answer is real, it becomes a written scope with a fixed price against it.

  2. 02

    Content and data modelling

    Every content type, its fields, and how records relate to each other — settled on paper before a screen exists. This decides what an editor's Monday morning looks like for the next five years, and it is the single most expensive decision to reverse later.

  3. 03

    Components before pages

    The build starts with the reusable parts and their states, then assembles pages from them. What you review each week on staging is the working thing rather than a picture of it, and the budget is checked as it grows rather than once there is no time left to act on it.

  4. 04

    Your editors, before launch

    The people who will actually run the site put real content into it while the model can still be changed. A content model is only proven when somebody who did not design it goes looking for a field and finds it already there.

  5. 05

    Handover, tested from a clean clone

    Before the final invoice we clone the repository into an empty folder and follow our own README. If it does not run, the documentation is wrong, and that is our defect to fix rather than a puzzle for whoever inherits it.

Stack

Boring technology, chosen so the next developer recognises it.

Nothing here is exotic. That is the point: an unusual stack is a lock-in mechanism dressed up as innovation.

Front-end
Next.jsReactTypeScriptTailwind CSSAstro
CMS & commerce
WordPressShopifySanityPayloadWooCommerce
Back-end & data
Node.jsPostgreSQLLaravelRedisPrisma
Infrastructure
VercelAWSCloudflareGitHub ActionsSentry

Deliverables

What you hold at the end, and what it lets you do.

The test of a build is not how it looks on launch day. It is what the next developer finds when they open it.

  • The repository in your GitHub organisation, with the real commit history rather than one squashed initial commit
  • A README that takes a developer from a clean clone to the site running locally, without asking us anything
  • The content model documented — every type, every field, and what a page does when a field is left empty
  • Environment variables and third-party credentials handed over as a list, not recovered from a chat thread six months later
  • The deploy process written down — how a change gets from a branch to the live site, and who is able to do it
  • A recorded walkthrough of both the codebase and the editor, with the people who will maintain each
  • Redirects mapped from every old URL, with analytics and search console connected before go-live
  • Every account — hosting, domain, repository, analytics — already in your name

None of that is held back until final payment, and none of it lives in an account of ours. Ownership that arrives at handover is the mechanism that makes leaving expensive; ownership that arrives on day one is the only version that is actually ownership.

Pricing

What a custom build costs.

AED 16,000

from

That is the Launch tier — five to eight pages, designed and built. A custom content structure, Arabic, or a CRM or payment integration each put a build in the Growth tier from AED 48,000, whichever of them turns up first. Portals, large stores and anything with an application behind it start at AED 95,000. Prices exclude 5% VAT, and payment runs in milestones.

What changes the price

What that covers

  • A written scope with a fixed price, agreed before anything starts
  • A custom design rather than a bought theme
  • A content model built for your content
  • A performance budget enforced through the build
  • Redirects, analytics and search console at launch
  • The repository, the documentation and a recorded handover
  • Real estate

    A property site is a database with a front end on it. Listings arrive from a portal feed or a CRM, change price and status without anyone touching the site, and have to be searchable by area, bedrooms and budget — while one record renders as a card, a map pin, a brochure and an Arabic page. That is the requirement a theme meets for the first hundred listings and not the next thousand.

  • Logistics

    Logistics sites are asked to calculate rather than describe. A rate that depends on weight, route and service level; a tracking lookup against a carrier system; a quote request that has to reach operations rather than an inbox; branch and clearance detail that must be correct in two languages. None of that is content, and a content plugin is the wrong place to keep it.

Questions

Asked before a custom build is commissioned.

A build whose codebase is written for your requirements rather than adapted from a theme, a template or a page builder. It is worth being pedantic about, because a heavily customised template is still a template — same update path, same ceiling, same plugin bill. If the answer to “which theme is it based on?” is a name, what you are buying is configuration rather than development.

From AED 16,000 for a five-to-eight page site, designed and built. The tier follows the scope rather than the page count: once the build needs a custom content structure, Arabic, or a CRM or payment integration, it is the Growth tier, from AED 48,000. Portals, applications and larger stores start at AED 95,000. Prices exclude 5% VAT, and payment runs in milestones rather than a single amount at signature.

You edit it yourselves. A custom build still has a content management system behind it; the difference is that editors get the fields the design actually contains instead of a blank canvas and a builder plugin. Text, images, prices, people, case studies and new pages are all yours. What editors cannot do is break the layout, which is the point of modelling content rather than storing it as one long formatted blob.

Usually less, though not nothing, and anyone promising nothing is selling. There are no theme or plugin licences to renew and far fewer third-party components that can break on somebody else's release schedule. What remains is dependency updates, hosting, and one person being responsible for both — either a developer of yours or a care plan, which starts at AED 1,500 a month.

Yes, and that arrangement is called headless. The content stays in a CMS your editors already know — WordPress included — and the site is a separate front end reading from it over an API. We also build on Sanity and Payload where the content model is the harder half of the problem. It earns the extra moving part when performance or an unusual content structure justifies it, and not otherwise.

As routing and layout rather than a translation plugin sitting over an English site. Each language gets its own URL, the layout mirrors for right-to-left, form fields and progress indicators flip, and the Arabic typeface is chosen rather than inherited from a fallback. It is settled during architecture, because retrofitting right-to-left costs considerably more than planning it. Arabic is included from the Growth tier.

The platform does not decide that; the output does. A custom build serves clean URLs, server-rendered HTML, structured data and a page weight you control, which is more than most themes manage unaided. The thing to ask for explicitly is editable metadata: with no SEO plugin present, title tags, descriptions, canonicals and schema fields have to be part of the content model. We build them in. Not every custom build does.

On your accounts, and yes. Builds deploy to conventional platforms — Vercel, AWS or Cloudflare — registered in your name and billed to your card, so nothing routes through us. If you would rather we ran it, that is a care plan, and it cancels on thirty days' notice. Either way the build is not tied to our infrastructure, which is worth verifying with any agency before signing.

Ready to build something that lasts?

Tell us what you need. You will get a scoped response with an indicative price — from an engineer, not a salesperson.

No obligation. We reply within one working day, Monday to Friday.