Case 01 / 06
LiveStain
Busters
A carpet, sofa and car cleaning business in the Klang Valley needed one page that answered four questions and started a WhatsApp conversation with enough detail to quote.
The job
A carpet cleaner needed one page that answered four questions: what do you clean, where, how much, and how do I book?
The move
One page with services, service areas, a WhatsApp action and an office price estimator. The estimator turns square footage and add-ons into an estimate, then writes that estimate into the WhatsApp message.
The commercial job was not to close a sale on the page. It was to start a WhatsApp conversation with enough information for the business to quote accurately. The page carries the same action in the header, after the estimate and at the end — not because repetition is a style, but because the decision can happen at any of those points.
The decision
- Ask four questions, not ten. Every extra field is a place to leave.
- Put the action where the customer is, rather than sending them back to a contact page.
- Make the estimate useful without pretending it is a final quote.
- Let the WhatsApp message carry the answers, so the next step does not start from zero.
The limit, stated plainly
The estimator is an estimate. The final price is confirmed on WhatsApp after the size and condition are seen. The site does not take payments or hold a calendar.
- No payment is taken on the page.
- No booking slot is held.
- No final price is promised before the job is seen.
The evidence
Live site, source code, estimator logic, local-search structure, a small Cloudflare Worker and admin layer. The working site is the primary evidence; the source shows how the handoff is put together.
See it live
Built with
HTML, CSS and JavaScript; a Cloudflare Worker and a small admin layer; local-search page structure.
What the source shows
- Estimator logic and the WhatsApp handoff.
- The Worker and admin boundary.
- The local-search page structure.
What it does not show
- Bookings, revenue or ranking outcomes.
- A final quote before inspection.
- Source excerpts without client permission and redaction.
The next record adds an internal dashboard and a server-side CRM boundary.