App Development in Bahrain: BHD Costs, PDPL Transfers and a 6-Hour Overlap
Founder & Lead Engineer, RAITHub
A focused first release of a custom web app for Bahrain costs roughly BHD 6,150 to 25,500: 410 to 850 engineering hours at BHD 15 to 30 an hour, which is about $40 to $80. Bahrain's Personal Data Protection Law restricts transfers abroad, so where your data sits and who can reach it shapes the design. A Dhaka team shares about 6 working hours with Manama.
This guide is for founders and product owners in Bahrain budgeting a web product: a booking system, a B2B ordering portal, a marketplace or an internal tool. The hour counts are an illustrative model that shows how a budget adds up, not a quote and not a benchmark. RAITHub is a software studio in Dhaka, Bangladesh, with no office in Bahrain. It builds web apps and progressive web apps (PWAs, websites that install on a phone like an app), not native iOS or Android apps. If you searched for a mobile app development company, a PWA is the scope this guide prices.
What do app developers charge for a Bahrain project?
There is no large local sample to quote. When we checked on 30 September 2026, Clutch had no Bahrain-specific list of app developers, so the benchmarks below use global and regional figures instead. Clutch's own software development pricing guide puts the typical firm at $25 to $49 an hour and the average project at about $132,480, which is roughly BHD 50,000. Arc.dev's 2026 freelance rates give the regional spread.
Dinar figures use BHD 0.377 to the US dollar, the rate Wise's USD to BHD converter showed on the day of checking, rounded to one decimal.
| Source and segment | USD per hour | BHD per hour (at 0.377) |
|---|---|---|
| Most software firms worldwide (Clutch pricing guide) | $25 to $49 | BHD 9.4 to 18.5 |
| South Asia freelancers (Arc.dev) | $22 to $55 | BHD 8.3 to 20.7 |
| Eastern Europe freelancers (Arc.dev) | $40 to $85 | BHD 15.1 to 32.0 |
| US and Canada freelancers (Arc.dev) | $82 to $130 | BHD 30.9 to 49.0 |
A rate only becomes a price when you multiply it by effort, and effort depends on scope far more than on the vendor's location. The next section does the multiplication. For the same model in Saudi riyals, see app development cost in Saudi Arabia.
How much does a Bahrain web app cost, line by line?
For one core workflow, two or three user roles, an admin panel, local payments and a bilingual Arabic and English interface, the illustrative model comes to 410 to 850 hours. At BHD 15 an hour (about $40) that is BHD 6,150 to 12,750. At BHD 30 an hour (about $80) it is BHD 12,300 to 25,500.
| Line item | Hours (illustrative) | At BHD 15/hour | At BHD 30/hour |
|---|---|---|---|
| Discovery and written spec | 30 to 50 | BHD 450 to 750 | BHD 900 to 1,500 |
| Sign-up, login, roles and accounts | 40 to 80 | BHD 600 to 1,200 | BHD 1,200 to 2,400 |
| The core workflow (booking, ordering, quoting) | 120 to 240 | BHD 1,800 to 3,600 | BHD 3,600 to 7,200 |
| Admin panel and reports | 40 to 100 | BHD 600 to 1,500 | BHD 1,200 to 3,000 |
| Payments: local debit and cards via a gateway, webhooks, refunds | 60 to 120 | BHD 900 to 1,800 | BHD 1,800 to 3,600 |
| Arabic right-to-left layout and bilingual data | 40 to 100 | BHD 600 to 1,500 | BHD 1,200 to 3,000 |
| Automated QA, including screenshot tests in both directions | 60 to 120 | BHD 900 to 1,800 | BHD 1,800 to 3,600 |
| Hosting set-up, CI/CD and monitoring | 20 to 40 | BHD 300 to 600 | BHD 600 to 1,200 |
| Total | 410 to 850 | BHD 6,150 to 12,750 | BHD 12,300 to 25,500 |
Three things push a project to the top of each range: a second core workflow, integrations with systems you do not control, and requirements that change mid-build. Three things are not in the table: Arabic copywriting and translation, third-party subscriptions, and running costs such as hosting and per-transaction payment fees. Ask every vendor to list what their quote excludes. The MVP cost estimator gives a range for your own scope in a few minutes.
Why do Bahraini dinar prices need three decimal places in code?
Because the dinar has three. ISO 4217, the currency-code standard, gives BHD 3 minor-unit digits, against 2 for the US dollar and the Saudi riyal (ISO 4217 active codes). One dinar is 1,000 fils. Code that assumes every currency has cents will round BHD 12.345 to BHD 12.35, and the error repeats on every invoice, refund and report.
The fix is to store money as whole minor units and look the digits up per currency, never as floating-point dinars:
// Money is stored as integer minor units: fils for BHD, cents for USD.
const MINOR_DIGITS: Record<string, number> = { BHD: 3, OMR: 3, KWD: 3, SAR: 2, USD: 2 }
export function toMinor(amount: string, currency: string): number {
const digits = MINOR_DIGITS[currency]
if (digits === undefined) throw new Error('Unknown currency: ' + currency)
const [whole, frac = ''] = amount.split('.')
if (frac.length > digits) throw new Error(currency + ' allows ' + digits + ' decimals')
return Number(whole + frac.padEnd(digits, '0'))
}
toMinor('12.5', 'BHD') // 12500 fils
toMinor('12.5', 'USD') // 1250 cents
new Intl.NumberFormat('en', { style: 'currency', currency: 'BHD' }).format(12.5) // "BHD 12.500"
Test it in your payment suite with amounts such as BHD 0.005 and BHD 999.999, and check that your gateway expects the same unit. Some gateways take decimal amounts rather than minor units, so the conversion belongs in one module with its own tests.
For local debit cards, gateways document BENEFIT as a separate method. Tap's documentation describes it as a Bahrain-based method for BENEFIT debit cards that "only supports payments in BHD", using a redirect to a payment page where the customer confirms with a PIN sent to their phone (Tap: BENEFIT). That means an extra redirect state, a return URL, and tests for abandoned and failed payments. Wallets and buy now, pay later are separate lines; the GCC checkout guide covers how those flows differ.
To be clear about proof: RAITHub has shipped Stripe rent collection in PropDesk, and bKash, Nagad, SSLCommerz and cash on delivery in TheSkinProof, the founder's own marketplace venture, not a client project. It has not shipped BENEFIT, BenefitPay or any Bahraini gateway, so those are quoted as new work built on the same patterns: webhooks as the source of truth, handlers that are safe to run twice, and integer money.
Does Bahrain's PDPL let you use an offshore developer?
It can, but the transfer rules are strict, so plan the data flow before you sign. This section is general information, not legal advice. Confirm the current rule with your adviser and the regulator, the Personal Data Protection Authority. The Authority's site did not load for us when we checked, so the points below come from DLA Piper's summary of Bahrain's data protection law.
According to that summary, the Personal Data Protection Law, Law No. 30 of 2018, took effect on 1 August 2019. It notes that the Ministry of Justice, Islamic Affairs and Endowments has been carrying out the Authority's role. On transfers, DLA Piper's transfer section states the main rule as: "Transfers of personal data out of Bahrain is prohibited unless the transfer is made to a country or region that provides sufficient protection to personal data."
| Route out of Bahrain (per DLA Piper) | What it involves | Fit for a development vendor |
|---|---|---|
| A country on the Authority's list | DLA Piper lists 83 countries treated as giving adequate protection; its copy of the list does not include Bangladesh | Confirm the current list with the Authority before relying on it |
| Authority permission | Issued case by case, if the Authority deems the data will be sufficiently protected | Possible, but it adds time; ask your adviser what an application needs |
| Data subject consent | The individual consents to the transfer | Hard to operate for every customer record in a live product |
| Other listed exceptions | Such as performing a contract with the individual, vital interests, legal obligations and legal claims | Rarely matches a vendor building software |
Two more points from the same summary matter for a build contract. Controllers must use processors that give "sufficient guarantees" about technical and organisational measures, and take reasonable steps to check them. And controllers must have procedures to inform the Authority of a breach within 72 hours of discovery. DLA Piper lists criminal penalties of up to one year's imprisonment and fines of BHD 1,000 to 20,000 for violations that include unlawful transfers.
RAITHub signs data processing agreements and follows your controls. It makes no claim about meeting the PDPL on your behalf, because that obligation sits with your company.
How do you keep Bahraini personal data away from an offshore team?
By designing it so the team rarely needs it. This is engineering guidance, not a legal conclusion; whether remote access to a system hosted in Bahrain counts as a transfer in your set-up is a question for your adviser.
- Host in the Kingdom if your adviser prefers it. AWS runs a Middle East (Bahrain) region, me-south-1 (AWS Regions). Check that email, analytics and error-tracking services fit the same rule.
- Your cloud account, not ours. Production runs in an account you own; the team deploys through a pipeline you can audit and revoke.
- Synthetic data by default. Development and staging run on generated records, never a copy of production.
- No standing production access. Access for an incident is requested, approved by you, time-limited and logged; designing a SaaS audit log covers what to record.
Enterprise and bank buyers will ask about all of this in a vendor review. Answering a first security questionnaire without SOC 2 shows how to answer honestly.
Do you need Arabic and right-to-left support in Bahrain?
For a consumer product, usually yes; for an internal tool or a B2B portal used by an English-speaking team, often not at first. If you do need it, design both directions from the first screen: dir="rtl" on the page, CSS logical properties such as margin-inline-start, separate Arabic and English fields for anything customers read, and screenshot tests in both directions. The Arabic RTL web app QA checklist lists the checks.
RAITHub engineers and tests the right-to-left interface. It delivers in English and does not write or translate Arabic, so the copy comes from your team or a translation partner.
Is an offshore team a better fit than a local agency?
It depends on what you need in the room. The time zones help: Bahrain is UTC+3 and Dhaka UTC+6, neither with daylight saving, so a 9:00 to 18:00 day in each city shares about 6 hours, from 9:00 to 15:00 Bahrain time. The working week is agreed per client, so a Sunday to Thursday Gulf week can be accommodated.
| Factor | Bahrain-based agency | Offshore team in Dhaka |
|---|---|---|
| Shared working hours with Manama | Full day | About 6 hours, plus written daily handoffs |
| In-person workshops and Arabic-speaking staff | Usually available | Remote only; English delivery |
| Data transfer questions under the PDPL | Fewer, if the team works in Bahrain | Plan hosting and access with your adviser first |
| Local invoicing and contracts | Usually straightforward | Agree language, currency and invoicing up front |
| What decides the total cost | Scope and change control | Scope, change control and written handoffs |
Before hiring any offshore vendor, run the checks in is it safe to hire a software agency in Bangladesh. Hiring an offshore team for a UAE startup shows how a Gulf company runs the day-to-day; most of it applies in Manama.
Why RAITHub for this?
- Payment patterns that have shipped. Stripe in PropDesk, bKash, Nagad and SSLCommerz in TheSkinProof, and 9 payment gateways in PadhAI. A BENEFIT integration would be new work for RAITHub, built on those patterns and quoted as such.
- QA-first builds. TheSkinProof runs 750+ automated tests across 217 API endpoints; PropDesk runs 1,024. Three-decimal money and both text directions get tests of their own.
- Access control we have shipped. Sundor Skin runs 146 PostgreSQL tables with row-level security, 88 permission codes and 12 staff roles, useful when you want the team kept away from real customer data.
- A workable overlap. About 6 shared hours with Bahrain, a working week agreed with you, and written daily handoffs for the rest.
- Fixed scope. A free 15-minute technical audit, then a written fixed quote with assumptions and exclusions listed. You own the code and the IP; an NDA is standard.
When you don't need us
- You need native iOS or Android apps. RAITHub does not build mobile apps; choose a mobile specialist.
- You need Arabic delivery, or Arabic content written or translated. RAITHub works in English only.
- You need a team in Bahrain for on-site workshops, or a locally registered vendor for a tender.
- You need a certified vendor. RAITHub is not SOC 2 or ISO 27001 certified.
- You need legal advice on the PDPL. RAITHub has no legal expertise; use a Bahraini data protection lawyer.
- An off-the-shelf tool already does the job. If a hosted booking or store product covers your workflow and takes local payments, subscribe to it.
To turn this into a number for your product, start with the MVP development service, then book the free 15-minute technical audit. Bring your core workflow, the payment methods you need, and where your adviser wants the data hosted.
Last reviewed: 30 September 2026. Rates, exchange rate and provider documentation checked on 30 September 2026. Legal points are general information from DLA Piper's summary; confirm them with your adviser and the Personal Data Protection Authority.
Frequently asked questions
How much does it cost to build an app in Bahrain?
A focused first release of a custom web app, with one core workflow, local payments and a bilingual interface, comes to roughly BHD 6,150 to 25,500 on an illustrative model of 410 to 850 hours at BHD 15 to 30 an hour. Translation, subscriptions and running costs are extra.
Does RAITHub build mobile apps for Bahrain?
No. RAITHub builds web apps and progressive web apps, which install on a phone from the browser and share one codebase with the desktop version. For native iOS or Android apps, choose a mobile specialist.
Can personal data from Bahrain be sent to a developer in Bangladesh?
Only through a route the PDPL allows, such as Authority permission or consent, because DLA Piper's copy of the approved-country list does not include Bangladesh. Keeping production data in your own Bahrain-hosted environment and giving the team synthetic data reduces what crosses the border. This is general information; confirm the current rule with your adviser.
How fast must a data breach be reported in Bahrain?
DLA Piper's summary says controllers must inform the Personal Data Protection Authority within 72 hours of discovering a breach. Your vendor contract should require the vendor to tell you well inside that window.
Why does my payment code need three decimals for BHD?
The Bahraini dinar has 3 minor-unit digits under ISO 4217: one dinar is 1,000 fils. Store amounts as integer fils and look up the digits per currency, so nothing is rounded to two decimals.
How many working hours does a Dhaka team share with Bahrain?
About 6 hours, from 9:00 to 15:00 Bahrain time, assuming a 9:00 to 18:00 day in both cities. The working week is agreed per client, so a Sunday to Thursday week can be accommodated.
Related posts
Ready to discuss your project?
Book a free 15-minute technical audit with our engineering team.