Concept build · 2026

Nobody in Dubai fills in a form to book a massage.

Build story

The Amara Spa concept site - a treatment video running full-bleed behind the headline, with a Book on WhatsApp button under it.
Amara Spa doesn't exist. The booking button is the part that does.

Role

  • web
  • design
  • build

Stack

  • HTML
  • CSS
  • JavaScript
  • Cloudflare Workers
The problem
Small service businesses here take their bookings on WhatsApp all day, then buy a website that sends people to a contact form, a call-back promise and a booking calendar nobody keeps updated. Every enquiry that has to become an email is an enquiry that quietly doesn't happen.
What I built
A single-page site for a fictional Al Barsha spa where every treatment, every therapist and every button opens WhatsApp with the booking already written - plus the technical SEO underneath it, so the place turns up when somebody nearby searches for the treatment rather than for the name.
The result
A page that turns a search into a conversation on the owner's phone. Nothing to log into, nothing to keep updated, and the first reply can be a time instead of a question.

Booking anything small in Dubai happens on WhatsApp. The barber, the nail place, the guy who fixes phone screens in the mall - you send a message, somebody sends back a time. Nobody fills in a form and nobody waits for a call back.

Every price row carries its own button, and its own pre-written message.

Then the same business buys a website, and the website ignores every bit of that. There's a contact form pointed at an inbox nobody opens. There's a number that rings a desk while the desk is busy. Sometimes there's a booking calendar, which is the worst of the three, because a calendar has to be true - and the day it isn't, somebody drives to Al Barsha for a room that got given away an hour ago.

Every one of those puts a step between somebody wanting a massage on Thursday and somebody being booked in for one, and steps are where enquiries go quiet. So this is the argument built rather than written down: a small service business doesn't need a booking platform. It needs the enquiry to arrive where the owner already is.

A live booking calendar is only as honest as whoever last updated it.

The spa is invented. The mechanism isn't.

Amara Spa doesn't exist. The name, the therapists, the star rating, the opening hours - set dressing, because a demo has to be about something, and a page of grey boxes proves nothing to anyone standing in a room. None of it is a client I had or a result I got.

What's under it is the part that would be yours. Every button on the page opens WhatsApp with the message already composed. Open the hot stone ritual and its button sends the treatment, the length and the price, then asks what times are free. Tap a therapist's card and it asks for her by name. The green button that follows you down the page sends the plain version, for the people who just want to ask something first.

Ask for someone by name. The message already does it for you.

Pre-writing the message does two jobs at once. The customer skips the worst part of messaging a business, which is composing the first sentence to a stranger. And the first reply back can be a time instead of a question, because the treatment and the length turned up with the message. Two rounds of "which one did you mean" and "how long is that" never happen.

No account. No form. No call-back promise. No calendar. One message to a person who can see the floor beats a booking widget that can't, and the version of this that takes a real-time reservation is the version that eventually double-books somebody's Friday evening.

Then somebody has to find it

A spa site that only turns up when you search the spa's name is a business card with a URL on it. The customers worth having haven't heard of the place. They're on a phone at ten at night, typing a treatment and a neighbourhood.

So the job doesn't end when the site looks right. It starts with keyword research, because what a business calls its treatments and what people actually type are rarely the same words, and the page gets built around the second set. Then the technical half: headings that say what the page is, structured data so the hours, the address and the treatment list can appear inside the Google result itself, a sitemap that's true, and nothing left in the file quietly telling search engines to stay away - which is a more common way to be invisible than anyone expects.

Speed is part of the same job rather than a separate one. This page has no framework and nothing it has to download before it draws, so it arrives on a phone on mobile data outside a mall. A page somebody gives up on doesn't rank, and it doesn't book anybody either.

On a phone the green button is most of the interface.

Then GA4 and conversion tracking, so "the website is working" stops being an opinion. Which treatment gets tapped. Which page the booking came from. Which page nobody has ever opened. I've written the long version of both halves of that - where site speed moves a ranking and where it stops mattering, and how to set conversion tracking up so the numbers mean something.

None of it is a launch-day job either. Launch is when you find out what people were really searching for, so the months after it are the ones that matter: what the page turns up for, what it nearly turns up for, and what somebody typed that sent them to a competitor instead.

The button writes the message. A person still answers it.

Worth saying plainly, because it's the one thing a page like this can look like it does. These are WhatsApp links with the text ready, so a human at the spa still reads it and replies. At eleven at night, that human is asleep.

Which is the next thing to build, and the one I'd push hardest here. Add the bot and it answers at eleven too - reads what somebody wants, quotes from your real price list, offers the times you've actually got, and puts the booking in the calendar. When it hits something it shouldn't be deciding on its own, it hands the conversation to a person instead of guessing. Two of them have been answering for a Dubai showroom, the first since 2024, and both are case studies in this same portfolio.

The last thing on the page is the same thing as the first thing.

It's the same website either way. The bot is a layer on top of it, with its own package and its own price on the pricing page, and that's the reason to build this half first rather than instead.

What the page itself does is narrow, and narrow is the point. The booking still happens between two people in a chat, the way it already does everywhere else in this city. The spa I'd build this for has nobody free to work a dashboard and never will - so the site's job is to get the right message into the right phone with the treatment already in it, and then get out of the way. Pointing it at a real business is one edit, not a rebuild.

Two ways on from here: the next case study - A trading school that needed to sell courses, not just describe them, or the films.