Ruby on Rails for a Dubai startup: where it still makes sense, and where it does not
Where Ruby on Rails still makes sense for a Dubai startup, UAE hiring realities, and when a founder should choose something else.
Read the articleWeb Services · Applications
Portals, dashboards, booking systems and internal tools built for Dubai and UAE businesses, with the roles, data and integrations worked out before a line of code is written, and honest advice when an off the shelf tool would serve you better.
A web application is software your business runs on, used through a browser: a client portal, a staff booking system, an internal approvals tool, a dashboard that pulls numbers from several sources into one screen. Web application development in Dubai starts from a different question than a website project does. A website asks what a visitor should read and do next. A web application asks what a specific person, in a specific role, needs to accomplish, and what happens to the data once they do it.
This page covers how we approach that kind of build: requirements, roles and permissions, the data model underneath the screens, integrations, testing, deployment, and who looks after the application once it is live. For a general comparison of platforms including WordPress and headless builds, see our website development page. If push notifications, offline use or a device camera are genuinely required, a native build may fit better than a browser based one, covered on our mobile app development page.
Honesty first
We would rather turn away a project that does not need custom software than build one that becomes a maintenance burden nobody wanted.
Established booking platforms, helpdesk tools, CRM systems and project management software cover a huge range of common needs. If your workflow is close to standard, configuring one of these is usually faster and less risky than building from nothing.
If what you actually want is a set of pages a team can publish and edit, that is a website project, not a web application, and belongs on our WordPress development or website development pages instead.
Custom software needs a clear owner once it is live: someone who can answer a support question, approve a change, and decide when it needs an update. Without that, even a well built application degrades quickly.
When one of these applies, we say so during the first conversation, before proposing a build. A shorter project that actually fits your situation is a better outcome for you than a longer one that does not.
Requirements
The single biggest cause of a web application project running over time and over budget is a requirement discovered after development has started, not before. Web application development in Dubai begins with structured sessions involving the people who will actually use the system daily, not only the manager who commissioned it, because the two groups often describe the same process differently.
We document requirements as concrete user stories tied to a role: what this specific person needs to do, what they see before and after, and what should happen if something goes wrong, such as a duplicate submission or a missing field. A requirement written this way can be tested later against the finished screen, which a vague feature list cannot.
Access
Almost every web application problem we are asked to fix after launch traces back to roles and permissions that were never properly designed.
A customer should not see another customer’s booking. A junior staff member should not see figures reserved for management. Every screen and every field needs an explicit answer to who can view it, not an assumption that the login screen is enough.
Viewing and editing are different permissions and should be modelled separately. A common, costly mistake is giving a role edit access because it was easier to build than a proper read only view.
Many business processes need a second person to approve an action, such as a discount above a threshold or a refund. This needs to be designed into the workflow itself, with an audit trail of who approved what and when.
Getting this wrong is not just inconvenient; it is a genuine security and data protection issue. The OWASP Top 10, a widely used reference on the most critical web application security risks, lists broken access control, where a user can act outside their intended permissions, among the risks development teams are told to design against from the start rather than patch in afterwards.
Data
Before any screen is designed, we map what data the application actually holds: what a record looks like, how records relate to each other, and what has to stay true no matter what a user does through the interface. A booking system, for example, has to enforce a rule that two people cannot be confirmed into the same slot, a rule that has to live in the data layer, not only in the screen that happens to prevent it most of the time.
We also plan for data that changes over time and data that must never change. An invoice, once issued, should not silently update if the underlying order changes later; a booking’s availability, by contrast, has to update immediately across every screen showing it. Deciding which is which, for every part of the system, is a data modelling exercise, not a design one.
Integrations
Most web applications are not built in isolation. They have to talk to systems your business already runs.
| Integration | What it typically does | What it does not solve |
|---|---|---|
| Payment gateway | Takes a card or wallet payment and confirms success or failure back to the application | Reconciliation with accounting, refund policy and disputed payment handling still need a defined process |
| CRM connection | Sends new leads or customer records into the system your sales team already uses | Duplicate matching and which system is the master record still need a rule |
| WhatsApp messaging | Sends a confirmation or an update to a customer’s phone | It is a notification channel, not the record of what happened; the application still needs to store it |
| Calendar or scheduling tools | Keeps bookings visible to staff in a calendar they already check | Two way sync needs careful conflict handling if changes can happen on either side |
| Accounting or ERP system | Passes invoice or order data through for finance to reconcile | Field mapping between systems is rarely identical and has to be agreed explicitly |
An integration by name tells you roughly what it does, not what it silently does not do. We list both for every integration we propose, so the gaps are a decision your team makes deliberately rather than a surprise found later.
Web application development in Dubai for a booking system, a portal or an internal tool tends to fall into a small number of recognisable shapes, even though each project’s detail is different. A booking or scheduling application manages a limited resource over time, a room, a slot, a technician, and its core job is preventing double booking while showing real availability to everyone looking at it at once. A portal gives a defined group of people, customers or partners, a private view of their own records: orders, documents, support tickets, account balances, without exposing anyone else’s. A dashboard pulls numbers from several sources into one screen and is judged almost entirely on whether the numbers are trustworthy and current, not on how the screen looks. An internal tool replaces a spreadsheet or a manual process for staff, and its main measure of success is simply whether people actually use it instead of going back to the old way.
Naming the shape early in web application development in Dubai helps because each one has known failure points. Booking systems fail at the edges: what happens at the exact moment two people try to book the same slot, what happens to a booking if a linked resource becomes unavailable. Portals fail on access control, showing or allowing something that belongs to someone else. Dashboards fail on trust, when a number on screen does not match the source system and nobody notices until a decision has already been made on it. Internal tools fail on adoption, when the people meant to use them find the old spreadsheet easier and quietly keep using it alongside the new system.
Testing
A website that looks slightly wrong is a cosmetic issue. A web application that behaves slightly wrong can lose someone’s booking, double charge a customer or expose data it should not.
Each user role is tested against every screen and action it should have access to, and, just as importantly, tested to confirm it cannot reach what it should not.
Key processes are run start to finish with realistic data, not just the individual screens in isolation, since problems often appear only when steps are chained together.
A failed payment, a lost connection mid form, a duplicate submission from a double click: these are tested deliberately, because they will happen in real use whether or not they were tested.
Security testing follows the same principle of looking for what should not be possible, not only confirming what should. The OWASP Top 10 is widely used by development teams as a starting checklist for this, covering risks such as broken access control, injection flaws and misconfigured security settings, and we test against it as a baseline before any application handling real customer data goes live.
Going live
Web application development in Dubai reaches a point where the system has to move from a test environment to real use, and this step carries more risk than a typical website launch because live data and live users are usually involved from the first day, not eased in gradually.
We plan the cutover deliberately: which existing data has to be migrated in, whether the old process and the new system need to run in parallel for a short period, and how staff are told exactly when to switch. A launch date chosen without regard for your business’s own busy periods, such as a retailer launching a new ordering tool in the days before a major sale, adds risk that has nothing to do with the software itself.
After launch
Custom software does not run itself. Web application development in Dubai has to include an honest answer to who looks after the system once the launch is behind you.
Even a well tested application surfaces small issues once real users with real data start using it daily. Someone needs to be reachable to fix these, and how quickly is worth agreeing in advance rather than discovering under pressure.
The libraries and frameworks a web application is built on receive their own security updates over time, and applying them is an ongoing responsibility, not a one time task completed at launch.
Usage patterns often reveal a workflow that needs a small adjustment, or a feature nobody uses that could be simplified. Our web analytics service covers this kind of tracking in more depth, and it only becomes visible once the system has real users to observe.
Longer term care for a website is covered on our website maintenance page; a web application’s maintenance needs are usually more involved, since bugs in software can affect a live business process rather than only how a page looks, and this is scoped separately for every project.
Common builds
A booking or scheduling application looks simple from the outside, a calendar and a confirm button, but its correctness depends entirely on rules that have to hold up under real, simultaneous use.
Every screen showing a slot as free has to reflect the true current state, including a booking made seconds earlier by someone else, which is a harder problem than it sounds once more than one person can book at once.
A booking often depends on more than a time slot: a specific room, a specific staff member, a piece of equipment. The system has to check availability across every linked resource, not only the calendar entry.
Rescheduling and cancelling need the same rigour as the original booking, including what happens to a resource freed up by a cancellation and who, if anyone, is notified.
Web application development in Dubai for this kind of system usually includes a clear cancellation and no show policy built into the workflow itself, since this is where manual processes tend to break down once volume increases, with double bookings and unconfirmed no shows going untracked.
Common builds
A portal’s entire value rests on trust: the people using it need to believe that what they see is accurate and that what they cannot see is genuinely private.
A portal usually needs to support more than one person per customer account, such as two colleagues at the same company, each with their own login but shared visibility of the account’s records.
An order status or a document approval shown in a portal has to reflect the real current state in the source system, not a cached figure from the last time someone happened to look.
A well designed portal reduces routine enquiries, such as asking for an order status by email, but it still needs a visible way for someone to reach a person when the portal genuinely cannot answer their question.
Common builds
Web application development in Dubai for a dashboard is judged on one thing above all else: whether the numbers shown match the numbers in the source systems they are pulled from. A beautifully designed dashboard showing a figure that is a day out of date, or calculated with a different rule than finance uses, gets quietly abandoned within weeks, and everyone goes back to their own spreadsheet.
We agree, before building any chart, exactly where each number comes from, how often it refreshes, and what happens if a source system is temporarily unreachable. A dashboard that fails silently and shows an old number as if it were current is worse than one that clearly shows it could not refresh.
Common builds
The hardest part of an internal tool is rarely the software. It is getting the team to actually use it instead of the spreadsheet they already trust.
The people who will use the tool daily should see working screens well before launch, and their objections taken seriously, since a tool built without them tends to miss the small details that make the old spreadsheet still feel easier.
If entering data into the new tool takes longer than the spreadsheet it replaces, adoption suffers regardless of how much better the reporting is behind the scenes.
Running the spreadsheet and the new tool in parallel indefinitely tends to mean the spreadsheet quietly stays the real record. A firm, communicated cutover date avoids this.
Technology
There is no universally correct stack. Web application development in Dubai chooses the technology to fit the project’s shape, not the other way round.
| Consideration | Why it matters |
|---|---|
| How much data changes in real time | A dashboard with figures that update constantly needs a different approach than a tool where data changes a handful of times a day |
| Who else will maintain the code | A widely used, well documented framework is easier to hand over to another developer later than a niche choice, even if the niche choice is technically elegant |
| How many concurrent users | A tool used by five internal staff has very different demands from a portal open to thousands of customers at once |
| What it has to integrate with | Some platforms and libraries have mature, well tested connectors to common UAE payment gateways and CRMs; others need custom integration work built from scratch |
| How long the application needs to last | A short term internal tool can justify a faster, lighter build than a customer facing system expected to run for years |
We explain the reasoning behind a stack choice in plain terms during scoping, including what it means for who can maintain the application later, rather than presenting a technology decision as settled without discussion.
Cost
Two projects that sound similar in one sentence can cost very differently once the detail is scoped, and the reasons are usually predictable.
Each role with different permissions and different screens adds real work, since every combination needs to be designed, built and tested, not assumed to follow automatically from the others.
Every external system the application talks to adds its own setup, testing and ongoing risk of the other system changing its behaviour without notice.
Rules specific to how your business actually works, such as a particular approval chain or a pricing calculation with exceptions, take longer to build correctly than a generic version of the same feature.
Every web application development in Dubai project gets a fixed written quote scoped to the actual requirements once they are documented, rather than a rough figure given before the roles, data and integrations are properly understood. This protects you from scope creep turning into unplanned cost partway through the build.
Mistakes
The most common mistake is starting development from a rough idea rather than documented requirements, which feels faster at the start and almost always costs more time overall once screens have to be reworked against a requirement nobody wrote down properly. A close second is under designing permissions early, then trying to retrofit proper access control once real users and real data are already in the system, which is far riskier than designing it correctly from the first screen.
A third recurring problem is treating testing as something done once, right before launch, rather than throughout the build. Issues caught early in a single workflow take little time to fix; the same issue caught after several other features have been built on top of it takes much longer.
Selected work

Web app · Ticketing · UAE
The UAE cinema chain operated by Phars Film. Every screening, offer and payment in one place customers can use on a phone.
starcinemas.ae
Platform · Car rental · UAE
A car rental marketplace where suppliers list fleets and renters compare and book, under real traffic.
oneclickdrive.com
Mobile app · Events · UAE
A UAE conference platform replacing printed programmes and email chains for delegates and organisers.
meecon.aeBilingual
A bilingual website is largely about content and layout. A bilingual web application also has to handle Arabic inside forms, data entry and generated output, which is a different and harder problem.
Forms need to accept Arabic input correctly, including right to left text fields, and some records genuinely need both an Arabic and an English version stored, such as a customer’s name on a generated document.
Invoices, confirmations and WhatsApp messages sent from a web application need Arabic content that reads correctly, not a template designed for English text with Arabic dropped in afterwards.
Some records genuinely contain both languages, such as a support ticket where a customer writes in Arabic and a staff member replies in English, and the interface has to display both directions correctly in the same thread.
Web application development in Dubai that treats Arabic as a late addition rather than a requirement from the start tends to need significant rework once real bilingual data starts flowing through the system. Deciding this early is far simpler than retrofitting it once forms, database fields and generated documents are already built around English only.
Ownership
The code, the database and any custom infrastructure built for your web application belong to you, the same principle we apply across all of our web services. Source code is handed over at launch, along with documentation covering how the system is structured, so another developer could pick up the project if you ever needed one to.
This matters more for a web application than for a typical website, because a web application often encodes real business logic, pricing rules, approval chains, calculations, that represents genuine work specific to your business. Losing access to that code, or inheriting it with no documentation, is a far more serious problem than losing access to a set of content pages.
Working together
Web application development in Dubai moves fastest when a small number of decisions are made by your side before the project begins.
Time with the people who will use the system daily, not only the person who commissioned it, so requirements reflect how the work genuinely happens.
One person able to approve requirements and sign off screens, so web application development in Dubai does not stall waiting for a committee to agree on every detail.
Credentials or documentation for anything the new system needs to integrate with, requested early rather than discovered as a blocker partway through the build.
Web application development in Dubai handled this way, with requirements written down, roles designed deliberately and testing built into every stage rather than left to the end, produces software your team actually trusts, which is ultimately the only measure that matters once the project is finished. A system nobody trusts gets worked around, quietly, until it stops being used at all, no matter how capable the underlying code is. Trust is earned in the first few weeks of real use, which is exactly why the launch and the early support window matter as much as the build itself, and why we stay closely involved during that period rather than disappearing the moment the system goes live.
Growth
Web application development in Dubai for a first version rarely needs to solve every future scenario, but it should not close doors that a growing business will likely want to open.
Fields and relationships designed with obvious near term additions in mind, such as a second location or a second product type, so a genuinely likely change does not force a rebuild of the underlying structure.
A permission system built to support new, more specific roles later, rather than one where every user shares the same broad access because splitting it further was never planned for.
A structure that allows a new external system to be connected later without redesigning how existing integrations work, since the list of connected systems tends to grow over the life of a web application.
This is a genuine balance, not a licence to over build a first version. Web application development in Dubai that tries to anticipate every possible future feature from day one usually takes longer to launch and costs more than the business needed at that stage. The more useful discipline is avoiding decisions that would be expensive to reverse, while keeping the first version itself scoped to what is actually needed now. In practice that means spending real thought on the data model and the permission structure early, since both are genuinely costly to change later, while leaving individual screens and workflows simple enough to adjust once real users start giving feedback.
A first version of a web application in Dubai is often better scoped narrower than a client initially imagines, covering the core workflow properly rather than a wide set of features built shallowly. Launching the booking flow well, for example, and adding a loyalty programme in a second phase once real usage data exists, tends to produce a better result than launching both half finished at once. Web application development in Dubai structured this way also gives you evidence, from real users, about which planned features actually turn out to matter once the core system is live, rather than guessing at the full feature list up front.
Phasing a project this way also changes how a fixed quote works in practice. Rather than pricing a large, uncertain scope in one go, we price the first version precisely, then scope each later phase once the previous one is live and its lessons are known. Web application development in Dubai priced this way tends to match what actually gets used far more closely than a single large quote agreed before anyone has used the system for real.
Compliance
Once a web application stores personal information such as names, contact details or transaction records, how that data is handled becomes a genuine responsibility, not only a technical detail.
Every field stored should have a clear reason tied to an actual business need, rather than being collected because a form template happened to include it.
Role based access, covered earlier on this page, applies directly here: customer personal information should be visible only to the roles that genuinely need it to do their job.
Whether and how a customer’s data is removed on request, and what has to be retained for legitimate business or accounting reasons, is worth deciding and documenting before the system holds real records.
Who viewed or changed a record, and when, matters most for exactly the data that is most sensitive. A basic audit log is worth building in from the start rather than added retroactively once a question arises about what happened to a specific record.
We are not a law firm, and specific obligations depend on your sector and the nature of the data you hold, so this is not legal advice. If your web application handles sensitive personal or financial data, we recommend checking your specific obligations with a qualified adviser before launch, and we design the system to support whatever access and deletion controls that advice requires. This applies just as much to a small internal tool as to a customer facing portal, since an internal system holding staff or supplier records is still handling personal data, even though nobody outside the business ever sees the interface.
Working style
Web application development in Dubai, once scoped, moves through the same stages described in our website development work more generally, adapted for software rather than pages: brief, a fixed proposal, build, review, deliver and improve. For a web application, the review stage happens more than once, since testing a workflow properly means showing it to you working, not only describing it as finished.
We keep a visible list of what is built, what is being tested and what is still ahead, so progress is never a surprise either way. A short weekly update, even a brief one, keeps a longer web application project from feeling like a black box between kickoff and launch, and gives you the chance to catch a misunderstood requirement while it is still a small change rather than a rebuild. This matters more for software than for a typical website, since a misunderstood workflow discovered late in a web application usually touches several linked screens, not just one page.
From the blog

Where Ruby on Rails still makes sense for a Dubai startup, UAE hiring realities, and when a founder should choose something else.
Read the article
Choosing a CMS for a UAE business by who edits it, what it integrates with and who maintains it, not by which platform sounds most impressive.
Read the article
Laravel against WordPress for a Dubai business: where a content site ends, an application begins, and what happens when WordPress is pushed past that line.
Read the articleStraight answers
A website is mostly read by visitors. A web application is used to do something: submit a booking, approve an order, see a live dashboard, manage records behind a login. That difference changes almost everything about how it is planned, built, tested and maintained.
Often not. A web application works in any browser on any device without an app store submission, which suits internal tools and most customer portals well. A dedicated app earns its place when you need push notifications, offline use or device features such as the camera; our mobile app development page covers that comparison.
Then it is usually the better choice. We say this even though it means a smaller project for us. Custom development earns its cost when your workflow genuinely does not fit an existing tool, or when connecting several existing tools together creates more manual work than a single system would.
That has to be agreed before development starts, not after. Options include your own in house developer, a maintenance arrangement with us, or a documented handover to another team. An application with nobody responsible for it is a risk we flag during scoping, not something we let pass quietly.
Every user role is tested against every screen it should and should not access, key workflows are run end to end with real world data volumes where practical, and known edge cases such as a failed payment or a lost connection are tested deliberately rather than discovered by a live user.
Every project gets a fixed written quote, scoped to your brief, after we understand the roles, the data, the integrations and any custom logic. The main cost drivers are usually the number of distinct workflows and how many external systems the application has to talk to.
Sources
Fixed price, in writing
Got it. Your quote is being written now.
In business hours you will have it within 45 minutes. Check your inbox for the confirmation.