⁨Companies⁩⁨Al Sharhan Industries⁩⁨Household hygiene manufacturing · Kuwait⁩

⁨Fifty-eight years of wholesale, then a storefront of their own.

⁨Al Sharhan Industries has made Kuwait's household products since 1968 — Kwik, Lulu, Hala, Clotex, Wenpor — and sold them through wholesale and retail the whole time. In June 2026 they began selling direct to consumers: Arabic first, on a phone, with every order paid online before it ships.⁩

611⁨Paid orders, first 45 days⁩
9,597.678⁨KWD⁩⁨Revenue since launch⁩
100%⁨Prepaid. No cash on delivery⁩
⁨Delivered for⁩⁨Al Sharhan Industries⁩⁨Kuwait · established 1968⁩
⁨Store capture to come⁩⁨The storefront on a phone, in Arabic, at the checkout step — the three things this case is actually about. A desktop capture would misrepresent a store where 96.4% of sessions are mobile.⁩⁨16:9 · source: capture from alsharhankw.com · blocked: needs ASI sign-off, and shows their brands⁩
⁨Placeholder. No capture is cleared for publication — the storefront carries ASI's brands throughout.⁩
⁨— The question⁩

⁨How does a manufacturer start selling direct to its own customers?

⁨A wholesaler already knows how to make the product, price it and move it by the pallet. None of that tells you how to sell one bottle to one person at eleven at night.⁩

⁨Al Sharhan Industries has been a manufacturer since 1968. Detergents, sanitizers and cleaning products under their own brands, plus distribution for Fine and ACDelco. The distribution is deep and the shelf presence is national. What did not exist was a channel where a customer buys from ASI rather than from a shop that stocks ASI.⁩

⁨Going direct means owning the parts a retailer used to own: the catalogue, the address, the payment, the delivery promise, and every complaint that follows from getting any of them wrong. The catalogue at launch was 220 products across 52 categories and 20 brands. The rest had to be built.⁩

⁨— The challenge⁩

⁨What made this harder than a standard store build?

⁨Four things had to be true at the same time. Each one is a place these projects normally fail.⁩

  • ⁨Arabic is the default language, at the root domain⁩⁨The store opens in Arabic, with English at /en/ as the secondary. Every layout is right-to-left first. The common approach is an English build with a translation layer bolted on, and it shows in every misaligned icon and every stray Latin comma.⁩
  • ⁨A Kuwait address has a different shape⁩⁨Governorate, area, block, street, building, floor or unit — plus an optional PACI number, the national addressing code. WooCommerce ships with a street-and-postcode model that describes none of this. Get it wrong and the driver cannot find the customer.⁩
  • ⁨Effectively a mobile-only store⁩⁨96.4% of sessions arrive on a phone. A large share come through in-app browsers opened from social platforms, which is the most constrained rendering environment there is — no address bar, unpredictable viewport, and a redirect chain that can break on the way back.⁩
  • ⁨Every order is paid before dispatch⁩⁨Cash on delivery is switched off, and so are bank transfer, cheque and pay-later. Payment runs through MyFatoorah — KNET, Visa and Mastercard, settling in KWD. Across the Gulf, cash on delivery is what most shoppers expect and what most stores lean on to win a first order. ASI chose to operate without it.⁩

⁨Removing cash on delivery removes the safety net. Every point of friction in the checkout becomes a lost order rather than a slower one.⁩

⁨— The approach⁩

⁨What did Umbrella500 build?

⁨Five months of engineering, March to August 2026. WordPress and WooCommerce, on a custom child theme built on a block foundation.⁩

293⁨PHP files⁩
51,700⁨Lines of PHP⁩
41⁨JavaScript modules⁩
1,093⁨Arabic strings⁩
104⁨Commits⁩

⁨The checkout took the most of it, and deserved to. It is the only screen where every one of the four constraints has to be solved at once.⁩

  • ⁨A Kuwait address system inside the Blocks checkout⁩⁨Governorate and area combobox, block, street, building, floor or unit, and the PACI national address code — built into WooCommerce's React-controlled Blocks checkout, which is materially harder to extend than the legacy one. Address-type cards for house, apartment and office show and require only the fields that type actually needs.⁩
  • ⁨Arabic numerals accepted at the door⁩⁨Customers typing a phone number in Arabic-Indic digits — ٠١٢٣ — were having orders rejected by a validator that only recognised Latin ones. We normalise client-side, so the number the customer typed is the number that goes through. A small fix, and it was silently costing orders from exactly the customers the store was built for.⁩
  • ⁨Payment confirmed server to server⁩⁨Confirmation originally depended on the customer's browser returning to the site after paying. On a phone, and especially inside an in-app browser, that return trip often fails — so genuinely paid orders were being auto-cancelled as unpaid. We wired the gateway to notify the store directly with a signed webhook. Payment success now runs at 97.6%.⁩
  • ⁨Validation that explains itself, in both languages⁩⁨Inline validation with an accessible error summary, written in Arabic and English. Each country gets its own field set, labels, validation rules and address format, editable from wp-admin without a developer.⁩

⁨What the shopper sees⁩

⁨Everything above happens once, at the checkout. This is the rest of the store.⁩

  • ⁨A filter drawer that reloads once⁩⁨Category filters open in a mobile drawer with deferred apply and a live result count, so a shopper stacks every filter they want and the page reloads a single time instead of six.⁩
  • ⁨A scent picker for variable products⁩⁨Choosing a scent animates the bottle through to the hero image, so the thing on screen is the thing being bought.⁩
  • ⁨Buy more, save more⁩⁨Quantity-break tier pricing across the catalogue, feeding an auto-populating Mega Savings category so the offer is browsable rather than buried on the product page.⁩
  • ⁨Search that understands how people type Arabic⁩⁨Arabic-aware search with transliteration synonyms, a bilingual brand taxonomy, brand archives, wishlist and a mega menu — so a shopper who types a brand name in Latin letters still finds it.⁩
  • ⁨Arabic written for a shopper, not a statute⁩⁨1,093 professionally translated strings in modern Gulf retail Arabic — warm and direct, rather than the bureaucratic standard Arabic that ships with WordPress and WooCommerce. Built from a trained corpus with ASI's own corrections folded back in. Right-to-left comes from logical properties, so one stylesheet serves both directions.⁩

⁨What ASI's team gets⁩

⁨Most builds stop at the storefront. The people running it every day are the ones who decide whether it lasts.⁩

  • ⁨A dashboard built for this business⁩⁨WordPress's default dashboard replaced with 15 purpose-built widgets: revenue and order KPIs with period comparison, revenue trend, month-end forecast pace, fulfilment performance at median and 95th percentile time-to-ship, cohort retention, payment-method mix, top products, brands and countries, coupon performance, refunds, low stock, and the orders that need someone's attention today.⁩
  • ⁨A workspace nobody else can advertise in⁩⁨The dashboard is allowlist-only. Installed plugins cannot inject promotional widgets into the screen ASI's team looks at every morning.⁩
  • ⁨Release notes, in plain language⁩⁨A "What's new" panel inside wp-admin where we publish what shipped, so the team finds out without a meeting.⁩
  • ⁨The homepage is theirs to edit⁩⁨Hero slides, categories, testimonials, stats and FAQs are all custom post types, and the admin menus and settings screens were reorganised so every one of them is edited from a familiar WordPress screen.⁩
  • ⁨Releases that repeat⁩⁨A versioned database migration runner, compatibility with WooCommerce's high-performance order storage, multi-currency and geo architecture, multi-warehouse inventory built and staged, security hardening, and a deploy process written down.⁩
⁨— The results⁩

⁨What were the results?

⁨under 1%⁩4.1%

⁨Conversion rate, launch to now⁩

⁨The store opened converting under one percent of the people who reached it. It now converts 4.1% — more than four times as many of the same visitors, on the same traffic, buying the same catalogue. Nothing about the acquisition changed. What changed is everything between arriving and paying, and it changed continuously rather than once.⁩

Source — Google Analytics 4. Sessions and transactions, so this is a true conversion rate. It is not derived from WooCommerce, which records no sessions at all, nor from Microsoft Clarity, which reports 1.2% and is flagged as session-inflated in the project records.⁩

97.6%⁨Payment success · 605 completed against 15 failed⁩
56.2%⁨Checkout completion · 611 paid of 1,088 who reached it⁩
96.4%⁨Sessions on a phone⁩
560⁨Distinct customers in the first 45 days⁩
7.0%⁨Already buying a second time at six weeks⁩

⁨Paid orders a week — first full week to peak⁩

⁨w/c 22 Jun⁩49
⁨w/c 29 Jun⁩72
⁨w/c 6 Jul⁩77
⁨w/c 13 Jul⁩104
⁨w/c 20 Jul⁩152
⁨w/c 27 Jul⁩134

⁨Six full trading weeks. The partial weeks either side of them — launch week from 21 June, and the week from 3 August — are left out because an incomplete week would bend the line.⁩

49 → 152 · +210%⁨6.6 → 15.6 orders a day, June to July · +136%⁩

⁨Average order value — launch against now⁩

⁨At launch⁩⁨13.722 KWD⁩
⁨Now⁩⁨17.837 KWD⁩

⁨Up 30% since launch. Customers are putting more in the basket per visit than they did in June, which is the part of a new store that usually takes longest to move.⁩

⁨Kuwaiti dinars are quoted to three decimal places⁩

Source. Live WooCommerce order data, read 4 August 2026. Trading period 21 June to 4 August 2026, 45 days. Paid orders are completed plus processing: 611 orders, 9,597.678 KWD. Mobile share is Microsoft Clarity over a three-day sample — 3,587 mobile, 93 desktop, 41 tablet. Conversion is Google Analytics 4 — sessions against transactions, the only source on this site that can produce a true conversion rate. Every figure on this page comes from one of those three sources, and each is named beside the number it produced.⁩

⁨— What moved it⁩

⁨Four times the conversion,
none of it at once.

⁨There was no relaunch. The store that converts at 4.1% is the store that launched under 1%, changed continuously against what the order data and the session recordings kept showing. These are the four screens that carry most of that work, as they stand today.⁩

⁨A product page on the live store: a sticky add-to-cart bar carrying the price, a free-delivery threshold banner, and a next-day delivery promise.⁩
The buy button never leaves the screen. Price and add-to-cart are pinned to the bottom of the product page, so the decision is always one thumb-reach away rather than a scroll back up.⁩
⁨A category listing on the live store, in Arabic, with prices in Kuwaiti dinars to three decimal places.⁩
Arabic first, not Arabic also. The whole interface is right-to-left by default — the language the customer arrives in, rather than one they have to switch to.⁩
⁨The live store home page on a phone, with a free-delivery threshold and a next-day delivery promise in the top bar.⁩
The two promises are the first thing on the page. Free delivery above 10 KWD and next-day delivery run across the top of every screen — one raises the basket, the other answers the question that stops a first order.⁩
⁨The basket on the live store.⁩
The basket is the last place to lose someone. 56.2% of the people who reach checkout complete it, and 97.6% of the payments that are attempted succeed — both from order data, both on this path.⁩

Captures. The live store at alsharhankw.com, 20 August 2026, at 414 px. Not mockups and not a staging build — the same pages a customer in Kuwait sees on a phone today.⁩

⁨— Why it worked⁩

⁨Why did it work?

⁨A store with no cash on delivery is a store where the checkout has to be genuinely good. There is nothing else holding the order up.⁩

⁨The friction was found, not assumed.

⁨Arabic-Indic digits in a phone field, and a payment confirmation that depended on a browser redirect surviving an in-app browser. Both were losing real orders, and neither would appear on any pre-launch checklist. They were found by reading what the store was actually doing after it opened.⁩

⁨The address form matches how Kuwait works.

⁨Governorate, area, block, street, building — and PACI for the customers who know theirs. A shopper filling in the address they would give a friend is a shopper who finishes.⁩

⁨Arabic came first, not after.

⁨The default language sits at the root domain and the layouts are right-to-left before they are anything else. Retail Arabic written for a shopper reads differently from the standard Arabic that ships with the platform, and shoppers can tell.⁩

⁨The client's own screens got the same care.

⁨Fifteen dashboard widgets, plain-language release notes and an admin nobody else can advertise in. A store is run every day by people who are not the agency, and the tools they use decide whether it keeps improving after launch.⁩

— بكلماتهم

⁨What does ASI say?⁩

⁨Quote to come⁩⁨No ASI testimonial is on record. Every attribution on this site is rendered from data/testimonials.json, and nothing is written into this slot until a named quote is added there and approved.⁩⁨request alongside the page sign-off · name, title and organisation all required⁩
— تواصل

⁨Let's keep in touch.

معظم أعمالنا تبدأ بمحادثة. أخبرنا بما تعمل عليه — أو عرّفنا بنفسك وسنفعل المثل. نردّ خلال يوم، وغالباً أقل.

⁨saleem.najjar@umbrella500.com⁩

لا نموذج ولا قمع تسويقي — هذا العنوان يصلنا مباشرةً.

⁨Request the company profile
⁨— Selling direct for the first time?⁩

⁨Arabic-first storefronts, local address and payment systems, and the admin your team actually runs the business from. That is the work we do for companies.⁩

⁨For companies