Web Development

Website Development for a Medical Equipment Supplier in Dubai

A 4,243-product B2B catalogue with a quote-request workflow, built on Next.js and edited by the client from a Google Sheet.

humanova.ae

ClientHumaNova
IndustryMedical equipment and consumables supply, B2B
LocationDeira, Dubai, United Arab Emirates
PlatformNext.js 15, React 19, TypeScript, Vercel hosting, Google Sheets catalogue CMS, Google Analytics 4
ServicesWeb development, catalogue build, product content writing, technical SEO, CMS setup and client guide, analytics
TimelineFirst build commit 15 September 2026, live on 1 October 2026
Live sitewww.humanova.ae

4,243 products live with a real photo on every one · 90 hand-written category pages and a 4,354-URL sitemap · Catalogue updated by the client, no developer needed

HumaNova homepage with hero, navigation, search bar and WhatsApp button, a medical equipment supplier website built in Dubai
The HumaNova homepage at launch. Hero, equipment search, and a WhatsApp button visible on every page.

This case study covers website development for a medical equipment supplier in Dubai: a 4,243-product B2B catalogue with a request-for-quote workflow instead of a checkout. HumaNova needed hospital procurement teams to find a product, build a quote list and send one enquiry. It also needed to update that catalogue itself, every week, without calling a developer. We built the site on Next.js, made a Google Sheet the content system, and took it live on 1 October 2026.

The Client

HumaNova is a medical equipment and consumables supplier based in Deira, Dubai. It supplies across 15 categories: surgical instruments, dental, respiratory care, patient monitoring, operating room equipment, hospital furniture, wound care and more. The catalogue carries 23 brands with live products.

Its buyers are hospitals, clinics, laboratories and procurement teams in the UAE and the wider GCC, with export customers in Africa and Asia. These buyers do not buy from a cart. They send a list, expect itemised pricing with lead times, and often need documentation for a tender submission. The website had to match that process.

The Challenge

The brief looked simple: build eight approved page designs. The real work was in the data and the hosting.

  • The product data was a 6,085-row spreadsheet built from supplier feeds. Hundreds of image links showed manufacturer logos or "no image" icons rather than products. One 909-product feed had titles like "Printing Paper 4 pcs".
  • No prices could be shown. Every enquiry had to go through a quote request, but buyers still needed a catalogue they could search, filter and trust.
  • The hosting was shared cPanel, which cannot run a headless CMS. Yet the client needed to add products and swap images without a developer.
  • Every claim going on the site, certifications, testimonials, figures, needed to be checked against what the business could actually stand behind before launch, standard practice for a regulated industry like medical supply.
  • Established competitors have decades of domain history, so the technical foundation had to be clean from day one.

Our Approach

We structured the site around the buyer journey: find the product, compare it with the range, send one quote request. Three decisions followed.

The catalogue is the site. Category and subcategory are real pages with real URLs, not filter parameters. That gives 15 category and 74 subcategory pages, each with its own H1, copy and canonical tag.

A quote list replaces the checkout. Buyers add items from any product card, see a floating count, and submit one form. It opens their own email client or WhatsApp with the request pre-filled, so there is no backend to break.

The spreadsheet stays the source of truth. Rather than force the data into a CMS the hosting could not run, we made the sheet the CMS. The client edits cells and presses Publish. A GitHub Action validates the sheet and redeploys in about two minutes.

The sidebar always shows every category and brand so a visitor never hits a dead end. Brand and category filters do not stack, because combining them produced empty results.

What We Built for a Medical Equipment Supplier in Dubai

Homepage with live catalogue counts and a brand showcase

The homepage leads with a three-slide hero, an indexable intro block, and six category tiles whose product counts come from the live catalogue. A slider shows manufacturer logos supplied by the client. It is a showcase, not navigation, because several brands have no live products yet.

Brand logo slider on the HumaNova medical equipment website showing several of the manufacturer brands it supplies
The "Brands we supply" slider. Logos were converted to WebP and near-white backgrounds pushed to pure white so they sit cleanly on the page.

Catalogue and 90 category landing pages

The catalogue grid renders on the server, so every product is crawlable. A sticky sidebar lists all 15 categories with subcategories and counts, plus a brand filter. Below the grid on every category page sits a hand-written keyword paragraph. Below on purpose: buyers came to see products, and Google reads the whole document either way.

Surgical Instruments category landing page on a medical equipment supplier website with sidebar filters and product grid
The Surgical Instruments landing page: 1,618 products, 13 subcategories, and a brand filter, all server-rendered.

Product pages with an RFQ panel and a WhatsApp button

All 4,243 product pages share one layout: photo with brand badge, SKU, breadcrumb, description, a quantity stepper with "Add to Quote", a "WhatsApp about this item" button, and related products. Each page emits Product and BreadcrumbList schema.

A medical device product page on the HumaNova website with Add to Quote panel and WhatsApp enquiry button
A product page. Pricing is by request, so the panel adds the item to a quote list instead of a cart.

Quote list and request-for-quote form

Adding an item flips the button to "Added" and shows a floating bar with the running count. The quote page lists every item with quantity steppers, then asks for name, organisation, email, phone and delivery emirate. Submit opens the buyer's mail app or WhatsApp with the full list written out.

Add to quote list interaction on a product page showing the Added state and the floating quote bar
After "Add to Quote": the button confirms, and a floating bar follows the buyer around the site.
Quote list page with two products added and a request-for-quotation form with delivery location options for each emirate
The quote list and RFQ form. Delivery location covers all seven emirates plus "Other GCC".

A Google Sheet that publishes to the live site

The client-facing sheet has 13 plain-language columns with dropdowns for brand, category and subcategory. A menu item, "Publish changes to the website", triggers the sync, and a nightly run catches anything left unpublished. The sync refuses duplicate SKUs, missing categories and corrupted characters, so a bad edit never reaches the live site.

Supporting pages for search and for buyers

Services, industries, export markets, an FAQ page, nine procurement articles, and four service-area pages with distinct copy for Dubai, Abu Dhabi, Sharjah and the Northern Emirates. A language selector offers five languages besides English, client-side, which helps visitors but does not create separately indexable translated pages.

Contact page on the HumaNova website with a contact form and location details
The contact page.
Language selector on the HumaNova website offering five languages besides English
The language menu. Translation is client-side, so it helps visitors but does not create separately indexable pages.

What Made This Project Different

The content system costs nothing and the client already knew how to use it. Most agencies would have sold a CMS licence or a VPS. The sheet route took about two days to build and has no monthly fee. Before launch, the client had already added 20 product images themselves.

The site's structure comes from the data. Categories, subcategories and brands are derived from published products. Type a new category into the sheet and it gets a landing page, a sidebar entry and a sitemap line automatically. Hide the last product in a branch and the branch disappears. No code change either way.

We audited every claim going on the site: certification mentions, testimonials and performance figures were checked against what the business could actually substantiate, and anything that did not clear that bar was cut before launch. A procurement officer who catches one unverifiable claim stops trusting the rest of the page.

Problems We Solved Along the Way

1,498 product images that were actually logos

Many image links returned HTTP 200 but showed a manufacturer logo or a "no image" graphic, so automated link checks passed them. We reviewed the images, cleared 1,498 URLs, and mirrored the change into the client's sheet so the next publish would not restore them.

731 discontinued products with the warning hidden in the pixels

One supplier feed's photos carried a "THIS ITEM HAS BEEN DISCONTINUED" overlay. Nothing in the data said so. We fetched all 2,120 images from that feed and detected the pale-blue gradient the overlay sits on. The 731 matches were unpublished, not deleted, so one cell flips any of them back if stock returns.

760 images that opened in a browser but failed on the site

Two suppliers' servers return a 403 when the request carries another site's Referer header. Pasting the URL into a browser sends none, so the images looked fine in testing. A no-referrer policy on product images recovered all 760. We then hid the remaining 1,111 products without a photo, taking image coverage to 100 percent.

909 products with fragment titles

One supplier feed had titles such as "Printing Paper 4 pcs", 225 empty descriptions and raw internal spec fields. We rewrote every title, description and specification in the catalogue's house style, under rules that forbid certification, stock and lead-time claims, then audited the batch.

Two dead links on every product page

Each product breadcrumb linked to its category and subcategory, and both URLs returned 404 on 4,445 pages, with the same dead URLs in the BreadcrumbList schema. Building the 90 landing pages fixed every one and turned the problem into 90 ranking opportunities.

Built for Mobile

Procurement staff check a supplier on their phone first. At phone width the sidebar collapses above the grid, cards stack, and the quote bar and WhatsApp button stay within thumb reach.

HumaNova homepage on a mobile viewport with hero, search and WhatsApp button
Homepage, mobile.
A medical device product page on mobile with Add to Quote and WhatsApp buttons
Product page, mobile.

SEO Built In From Day One

  • Unique title and meta description on every page: titles 26 to 58 characters, descriptions 136 to 153, exactly one H1 each.
  • Canonical URLs everywhere. Filtered catalogue views canonicalise to the unfiltered page, and robots rules block sort and search parameters.
  • One canonical domain with the www, and the apex redirecting to it with a 308.
  • A 4,354-URL sitemap generated from live content, so it updates every time the client publishes.
  • Structured data: Organization, MedicalBusiness and LocalBusiness site-wide, WebSite with SearchAction, BreadcrumbList, Product, Article, FAQPage and Service where each applies.
  • Brand logos converted to WebP and loaded eagerly so the slider never "flies in" mid-scroll.
  • Google Analytics 4 verified to fire a page view on client-side navigation, the part that silently fails when the tag is pasted by hand.

Results

The site went live on 1 October 2026. Google Search Console verification and sitemap submission are the client's next step, so no traffic or ranking figures exist yet. What is measurable today:

  • 4,243 live products, every one with a real photograph.
  • 15 categories, 74 subcategories and 90 hand-written landing pages.
  • A 4,354-URL sitemap generated from the live catalogue.
  • The client publishing catalogue changes independently from the sheet, before and after launch.
  • Build to launch in just over two weeks.

Enquiry, ranking and traffic data is still early, since the site only recently went live.

Key Takeaways

  • 1Audit the product data before you design around it. A working image link is not a product photo. The biggest fixes here were in the spreadsheet, not the code.
  • 2Match the site to how your buyers actually buy. B2B procurement runs on quote requests and WhatsApp, not shopping carts.
  • 3Pick a content system your team will use. A spreadsheet the client already lives in beats a CMS they have to learn.
  • 4Only claim what you can prove. Auditing certifications and testimonials against what the business can substantiate protects trust with the exact buyers who check.

Frequently Asked Questions

More Web Development Case Studies

Your Story Next

Want Work Like This for Your Business?

Tell us what you sell and where you are stuck. The first call is free, the scope is fixed in writing before anything begins, and if you do not need us yet, we will say so.

4.8★Google rating·
100+Businesses served·
500+Projects delivered

No pitch · No commitment · Honest answer either way

“Professional work and affordable rates. Had an amazing experience.”

Mohammed

Bin Hammad Trading Enterprises

“Their SEO strategies improved our rankings and increased organic traffic. Social media kept our brand consistently visible. Design work aligned perfectly with our identity.”

Murtaza

Murtaza Glass & Frames Trd. L.L.C.

“Great quality, fast service, and a really smooth experience. Highly recommend!”

Mohsin

Tarmal Enterprises General Trading LLC