Case study · Beauty / Salon
Booking without a booking system
A structured request that lands on WhatsApp converts about as well as a live calendar, and costs nothing to run.
Luxe Salon
Beauty / Salon · 4–7 days · ₹10,000–₹20,000
Go and use the buildBooking is a structured request, not live availability
The form asks for service, preferred date, preferred time and stylist, then sends a complete message the salon confirms.
Instagram stays the gallery
The salon already posts its work there daily and will keep doing so.
The situation
What goes wrong here
Salons are sold scheduling software constantly. For a chain with twelve chairs and a receptionist, it is the right tool. For a two-chair salon where the owner is also the stylist, it is a subscription plus a system that has to be kept accurate all day by someone whose hands are busy — and a calendar showing slots that are not really free is worse than no calendar at all.
Meanwhile the two things a client actually wants before booking are the service list with prices and evidence of the work. Salons tend to have the second in abundance, on Instagram, and almost never have the first anywhere public.
The decisions
Every one of these had a cost
A decision with no trade-off is a feature list. Each of these names what was given up, because that is the part a client needs to agree with before the project starts — not after.
- 01
Booking is a structured request, not live availability
The form asks for service, preferred date, preferred time and stylist, then sends a complete message the salon confirms. The client gets a reply within the hour; the salon never shows a slot it cannot honour. Structure is what makes this work — a request carrying all four fields is answerable in one message, unlike 'hi, appointment?'
What it cost
No instant confirmation, and no automatic reminders. If the salon grows past the point where someone can reply within the hour, this should be replaced with real scheduling — and that is a good problem, not a design flaw.
- 02
Instagram stays the gallery
The salon already posts its work there daily and will keep doing so. Copying those photos into the website creates a second gallery that goes stale within a month and quietly makes the business look less active than it is. Embedding the live feed means the website is always as current as the Instagram.
What it cost
The gallery depends on a third party: if the embed changes or the account goes private, the section degrades. That is a real risk, and it is accepted knowingly rather than discovered later — the alternative is a stale gallery, which fails silently and permanently.
- 03
Every service carries a price
Same argument as the gym, and it matters more here because salon pricing varies enormously by service. A visitor who cannot tell whether a cut is ₹300 or ₹3,000 does not call to find out; they go to the salon whose page told them.
What it cost
Prices have to be kept current, which is one more maintenance obligation.
In the build
- Service menu with prices
- Appointment request form with stylist and time preference
- Instagram gallery embed
- Working hours and location
- WhatsApp button
Built with
- Next.js
- Tailwind CSS
- Instagram oEmbed
You provide
- Service list and prices
- Salon photographs
- Working hours
- Instagram handle
Nothing starts until the scope, timeline and price are agreed in writing.
Measured
How this build actually performs
Taken from the finished build under throttled conditions, not from a score card. All six concept builds share a foundation, so they share these numbers.
Chromium at 412×915, 4× CPU throttling, 1.6 Mbps with 150 ms latency, cold cache — a mid-range Android phone on a typical Indian mobile network, not a developer's laptop. Includes the analytics the live site loads. Measured 2026-09-08.
- Largest contentful paint
- 1.58–2.16s
- When the main content is actually on screen. Google treats anything under 2.5s as good.
- Cumulative layout shift
- 0
- Nothing moves after it appears — no mis-taps caused by a button jumping.
- JavaScript over the wire
- 429 kB
- Compressed, as actually sent — 259 kB of site code plus 170 kB of Google Analytics.
- Total page weight
- ~613 kB
- Everything: markup, styles, fonts, scripts and analytics.
Honestly
What this is and isn’t
A concept build; the salon and its stylists are invented. The Instagram section in the demo is a visual stand-in rather than a live feed, since there is no real account behind it — on a real project it embeds the client's actual account.
