Developed for Carzle · 2026-Present

Developing a dealer-only luxury-car marketplace for the UAE

Build story

  • web
  • build
  • seo
The Carzle homepage - a Ferrari 360 Spider under the headline 'The home of luxury cars in the UAE'.
Licensed showrooms only. Luxury, performance and limited-production cars.
The problem
The big UAE marketplaces are built for volume. Private sellers, traders and licensed showrooms list into one pool, so a showroom can't control how its cars are presented - and pays per lead to be there.
What I built
A dealers-only marketplace for luxury, performance and limited-production cars: verified showrooms, faceted and natural-language search, editorial collections, comparison pages, dealer dashboards and an admin that reviews every listing.
The result
Live at carzle.ae - three verified Dubai showrooms, over 150 curated cars, and a discovery layer that ranks on specs rather than stock.

The UAE already has big car marketplaces, and they work. They're built for volume: private sellers, independent traders and licensed showrooms all listing into the same pool. Reach is the point. What a showroom gives up is control - a Rolls-Royce sits next to a fifteen-year-old Corolla with a phone number and no history, and the showroom pays per lead for the privilege.

Carzle went the other way. Only licensed showrooms get in, and only luxury, performance and limited-production cars get listed. I built the platform: architecture, front end, back end, dealer tooling, and the search and SEO system underneath all of it.

The Carzle Rolls-Royce browse page - stat strip, filter bar, model chips and a grid of verified listings.
Every make page opens with the numbers: how many, what they cost, how old.

That constraint is the product. Everything below is downstream of one decision - fewer cars, every one of them verified.

A marketplace is a distribution problem long before it's an engineering one.

Curation over volume

The first version was a general dealer marketplace: any licensed showroom, any car. It ran into the obvious wall. Against platforms with a decade of traffic, the same thing but smaller isn't a reason for anyone to switch.

So the scope narrowed to luxury, performance and limited-production cars, with every listing reviewed before it goes public. Smaller market, far easier one to be the best at. It also changed what the product could be: a directory of everything is a search box, but a curated set is allowed to have opinions - collections, comparisons, a house view of what's worth looking at.

How UAE buyers actually shop

Nobody here fills in a contact form to ask about a Urus. They WhatsApp the showroom. So contact is direct: a listing opens a real thread with the dealer holding the keys, pre-filled with the car in question, or rings that same showroom.

A Carzle listing for a 2026 Rolls-Royce Cullinan, with the showroom name, price and a Connect on WhatsApp button.
The first button is WhatsApp. No form, no lead capture, no account required.

The bigger platforms route that conversation through themselves. The enquiry becomes a tracked lead, the buyer becomes a record, and both get sold back to the dealer or marketed at for the next two years. Carzle deliberately doesn't sit in the middle of it. No lead capture on a listing, no email gate in front of a price, no buyer profile assembled in the background. The dealer sees that an enquiry happened; the platform never holds the person who made it.

That's a real trade, not a shortcut. Attribution goes fuzzy - you can measure the click, not the closed sale - and a buyer database is exactly the asset you'd want if you were about to spend money on ads. Carzle isn't spending money on ads. The whole growth plan is organic search, which means the site has to earn the visit instead of retargeting it, and it doesn't need to know who you are to do that.

The listings carry what people actually decide on: regional spec - GCC, European, US, because it changes both the warranty and the resale - service and warranty state, real mileage, and the showroom's name on every card. Condition is derived rather than declared. Under about 100km is delivery mileage, so the car is genuinely new; nobody gets to type "brand new" on something with 40,000km on the clock.

Search had to work the way people talk. Faceted filters for anyone who already knows the model, and a natural-language layer for everyone else - "family car under 200k", "old Lamborghini", "something with seven seats" - resolved into real filters against real inventory, instead of matching those words inside somebody's description.

The Carzle comparison page for Lamborghini Urus Performante versus Rolls-Royce Cullinan, with paired engine and performance specs.
Comparison pages rank on specs, so they work at zero stock.

Ranking without inventory

The hardest constraint on a young marketplace is that you can only rank for what you have in stock. A hundred and fifty cars is a hundred and fifty pages, and search demand is much bigger than that.

So the site got a discovery layer that doesn't depend on stock. Comparison pages built on specs - a Urus Performante against a Cullinan - which rank whether or not either car is listed today and funnel to whatever is. Editorial collections for people browsing before they're shopping. Intent pages for searches that describe a need rather than a model. Brand and model pages that hold their ground at zero stock and fill in as inventory arrives.

All of it structured underneath: schema markup on every listing, comparison and collection, real sitemaps with honest lastmod dates, internal linking that ties the editorial layer to live cars, and edge caching so an anonymous visitor gets HTML from Cloudflare instead of a database round trip.

What a showroom gets

The dealer side is a dashboard, not a mailbox. Listing management built around the fields a showroom actually maintains, analytics that count enquiries rather than impressions - the event, never the person - and the search terms buyers typed to get there, including the ones that returned nothing, which is the more useful list.

The Luxury SUVs collection on Carzle - a grid of verified listings with regional spec and warranty badges.
GCC spec, warranty, mileage. The things that actually decide it.

Per-listing QR codes, so a car on a forecourt has a code on the windscreen that opens its page. And an admin behind all of it that reviews every listing before it goes public, because verified has to mean somebody actually looked.

Under it

Postgres holds the inventory. Faceted search runs on Meilisearch, because filtering forty attributes across live stock in real time isn't a job for SQL and a hopeful index. Claude sits in front of that to turn a sentence into filters. Cloudflare caches HTML at the edge for anonymous visitors, so a browse page usually never touches the database at all.

The site is bilingual, English and Arabic - which turns out to be a search problem more than a translation one. Two versions of every page will happily compete against each other in Google unless the canonicals and hreflang are explicit about which is which.

Where it stands

It's live at carzle.ae, operated as a licensed UAE entity, with three verified Dubai showrooms and over 150 curated cars. The discovery layer is indexed, and the editorial side keeps growing.

A Carzle discover page for performance cars - an intent-led landing page above a grid of matching inventory.
Intent pages, for people who know the feeling they want before the badge.

What the build taught me

The engineering was never the hard part. A marketplace is two-sided: showrooms want buyers before they'll join, buyers want inventory before they'll come back, and money is the usual way out of that deadlock. The route here was organic instead - comparisons, collections, buyer guides, intent-led discovery - so the platform earns demand it can show a dealer before asking for their stock. It's slower, and it's still running. It's also the part of this project I'd carry into any marketplace, and none of it is code.

← All work

Two ways on from here: the next case study - Most Dubai supermarkets have a website that can't take an order, or the films.