Dubai · Web Development
Web application development in Dubai — a system your own team can run.
Portals, dashboards, booking systems and internal tools, scoped down to the workflow that genuinely repeats. You finish holding a running application, the repository, a data model written down in plain language, and a runbook for whoever keeps it up.
- Your repository, your cloud account
- Staging and a CI pipeline
- Scoped in writing before a price
What's included
Six things an application has that a website never needs.
Custom portal development is mostly these six. None of them is visible on a screenshot, and all of them decide what the thing costs to own.
Accounts, roles and permissions
Who may see a record, who may change it, who may approve it, and what happens to their work when they leave the company. Permissions are enforced at the data layer, because an interface that hides a button is not access control.
A data model written down
The schema agreed before any screen exists, in language your team uses rather than a developer's shorthand. Two departments meaning different things by the word 'client' is the cheapest problem to find now and the most expensive to find in month five.
The screens people work in daily
Lists, filters, record views and the two or three dashboards somebody opens before their first coffee. Built around the tasks that repeat every day rather than around the shape of the org chart.
Workflow and notifications
What states a record can be in, what moves it to the next one, and who is told when it moves. Approvals, escalations, reminders, and the email somebody is genuinely sitting there waiting for.
The joins to your other systems
Almost every application has to read from or write to something already running — the CRM, the accounting package, a payment gateway, a courier. The connection is quick; the handling of what happens when it fails is the part that takes the time.
Audit trail, backups and monitoring
Who changed what and when, kept as a record instead of reconstructed from memory during a dispute. Errors reported by Sentry rather than by an annoyed user, and restores tested rather than assumed to work.
Who it's for
Three situations where software is genuinely the answer.
An application is a system somebody has to run. If none of these fits, the cheaper move is usually a form and a notification, and we would rather say that before writing a proposal.
Customers who have to email you to find anything
Statements, documents, order status, bookings, renewal dates — each request answered by hand, by someone who has to look it up first. A portal is not new work, it is the same work done once and then done by the customer at midnight.
Your team answers the same three questions by email every week.
An operation that outgrew its spreadsheet
The business runs on a shared file with colour-coded rows, a tab nobody may delete, and rules that live in two people's heads. It works until someone sorts a column, until two copies disagree, or until one of those two people takes leave.
Somebody has to be asked before that file is edited.
A subscription you are working around
You pay per seat for a platform that covers the ordinary part of your operation and blocks the part that is actually yours, so the difference is absorbed by exports, re-keying and a second tool. That gap is the specification for what to build.
Your process has a step whose only purpose is the software.
How we deliver it
Five stages, and the first two decide the rest.
Screens are the visible part and the cheap part. What sets the price is the model underneath them, so that is what gets settled first.
01
Map the process as it actually runs
Time with the people doing the work, not only the people commissioning it. It ends with the states a record moves through and the name of whoever owns each transition — and, where a step turns out not to repeat, with that step crossed off rather than specified.
02
Data model and permission matrix
The schema and every role against every action, written as a table you sign off before any screen is drawn. Permissions retrofitted after the fact are expensive to unpick: the rework lands in code that has already been built and tested, not in the table.
03
One journey, running end to end
Sign in, create the record, move it through its states, notify someone — deployed to staging in the early weeks rather than demonstrated as pictures. Real use changes a backlog faster than another month of specification does.
04
The rest of the surface, and the unhappy paths
Remaining screens, permissions enforced against them, and the states nobody enjoys specifying: empty, expired, rejected, duplicated, half-migrated, submitted twice because the connection dropped.
05
Pilot, then cutover
A small group works in it against real cases before anyone else does. Existing records are migrated with a reconciliation you can check line by line, then the runbook is handed over and walked through with whoever will operate 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
- Back-end & data
- Node.jsPostgreSQLLaravelRedisPrisma
- Infrastructure
- VercelAWSCloudflareGitHub ActionsSentry
Proof
Live work, open to inspection.
Public sites we designed and built. Open one and judge the work, not the claim.
Deliverables
What you receive, and what you can run without us.
An application is not a file you are given at the end. It is something that has to keep running on a Tuesday, so the handover is written for the person who will be holding it then.
- The running application in your own cloud account, with staging and production separated
- The repository, with its real commit history rather than a single squashed import
- A README that takes a developer from a clean clone to a working local instance
- The database schema documented, and every migration in version control
- The permission matrix — every role against every action, as a table your team signed off
- A runbook: how to restore a backup, rotate a key, add a user, and read the error log
- Every third-party account and environment variable in your name, listed with what each one is for
- Two recorded walkthroughs — one for whoever operates it, one for whoever maintains the code
None of this is released at final invoice. For an application that matters more than it does for a website: a site can be rebuilt from its pages, but a system with live users and live data cannot be moved during a disagreement.
Pricing
What an application actually costs.
AED 95,000
from
That is the Platform tier, and applications are scoped per project rather than by page count. What moves the number is how many roles and record types exist, how much has to be migrated, and how many other systems it has to talk to. Prices exclude 5% VAT, and payment runs in milestones.
What changes the priceWhat that covers
- Process mapping and a written scope before a price is fixed
- Data model and permission matrix, agreed before screens
- Staging and a CI pipeline, not deploys from a laptop
- API and ERP integration where the process needs it
- Multi-language and multi-branch where the operation needs it
- SLA-backed response once it is live
Real estate and property
The same record is touched by several people in one day — a listing, a viewing, an offer, a tenancy, a maintenance ticket. Most of the difficulty is permissions: what a landlord may see of a tenant's file, what a broker may see of another broker's pipeline, and how the public listing feed is kept from drifting away from the internal record.
Logistics and distribution
The system earns its keep the day customers stop phoning to ask where something is, which means status has to be accurate at the moment it changes rather than when someone gets back to a desk. Updates are captured on a phone, often on poor signal, so the application has to queue what it could not send instead of quietly losing it.
Applications are one of the services under our wider development practice and this is the one that starts with a process rather than a page. If the requirement is a public site with an awkward feature or two, custom development is the closer fit; if the systems already exist and the work is joining them, that is integration.
Questions
Asked before an application gets commissioned.
A website publishes; an application holds state. On a site every visitor sees the same page and nothing is remembered between visits. In an application people sign in, records belong to someone, and what one person does changes what another sees. That is why the two cannot be priced alike — pages are content, and an application is a database, a permission model and a set of rules about what may change.
Buy it wherever the process is standard. Accounting, payroll, CRM and helpdesk are solved problems, and a subscription will beat anything written from scratch for you. Building earns its place where the process is genuinely yours — the part a competitor cannot copy from a screenshot, or the step your team performs only because the platform demands it. Most companies end up with both, and the real question is which half is which.
Applications and portals start at AED 95,000, on the Platform tier, and are quoted per project rather than by page count. The number moves on how many roles and record types exist, how much legacy data has to be migrated, and how many other systems are involved. Prices exclude 5% VAT. Any web app development company in Dubai that quotes a portal without asking how many roles it has is guessing.
Usually that is the better plan. One journey built end to end — sign in, create a record, move it through its states, notify someone — reaches real users far sooner than a complete feature set, and a fortnight of real use rearranges a backlog more honestly than another month of specification. The one thing we will not ship in halves is the permission model; access control is not a phase two.
Two separate things, billed separately. Infrastructure — hosting, database, email, error monitoring — is billed by the providers straight to your own accounts, so you see the real figures rather than a marked-up line on ours. Then somebody has to keep it working: care plans run from AED 1,500 a month for updates, backups and monitoring up to AED 15,000 for a dedicated squad. How often the application changes decides which.
It is yours, and it is already out — the database runs in your cloud account rather than inside a tenancy we control. You hold the credentials, the documented schema and every migration in the repository, so an export is a command somebody runs rather than a request somebody submits. For an application this matters more than code ownership does: the code can be rewritten, and the data cannot.
Yes, and in an application it is considerably more than a mirrored layout. Tables, filters, forms and date pickers all flip; numerals, sorting and search behaviour have to be decided rather than left to a default; and anything the system generates — an invoice, a PDF, a notification — needs the same treatment as the screen. It is planned from the data model, and Arabic is included from the Growth tier.
Monitoring tells us before a user does — errors report to Sentry and uptime checks raise an alert rather than waiting for a phone call. What we will not do is imply a night shift nobody staffs: our hours are Monday to Friday, 9:00 to 18:00 GST. Anything faster than that is an SLA written into a care plan with a stated response time, not a promise made on a web page.
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.
