A fast, zero-dependency landing page for a local home cleaning service in Chandpur — clear service tiers, and a booking flow made for how people actually message businesses here: WhatsApp first.
01 // Why it exists
Most local service sites fail because they load slowly on mobile and make booking feel like work. Sparkle Clean opens instantly, communicates clearly, and completes a booking request in seconds via pre-filled WhatsApp messages.
02 // What visitors get
৳800 / visit
Studio and 1-bed refresh: dusting, bath, floors, kitchen wipe-down.
৳1,800 / visit
Whole-home reset for 2 to 3 beds, including cabinets and grout.
Custom quote
Move-in, move-out, and post-event cleans scoped over WhatsApp.
Typical local site
Sparkle Clean pipeline
03 // Under the hood
No frameworks, no animation libraries. Layout, transitions, and tactile details are hand-tuned; Sharp CLI handles cropping and srcset generation, and a 20-symbol SVG sprite covers 79 icon uses without an icon font.
// booking.js — pre-filled WhatsApp first, email as backup
const MESSAGE = "Hello Sparkle Clean! I would like to book a cleaning visit in Chandpur.";
function bookingHref(tier) {
const text = encodeURIComponent(MESSAGE + " Tier: " + tier + ".");
return "https://api.whatsapp.com/send?text=" + text;
}
document.querySelectorAll("[data-book]").forEach((button) => {
button.addEventListener("click", () => {
window.open(bookingHref(button.dataset.book), "_blank", "noopener");
});
});1 · Pick a tier
2 · Message preview
Hello Sparkle Clean! I would like to book a cleaning visit in Chandpur. Tier: Deep Clean.
pre-filled · editable in WhatsApp
Demo only — nothing is sent until you press send in WhatsApp.

04 // Payload
The hero plate ships 86% lighter after a re-crop and a Sharp CLI compression pass: 451 KB at the source, 62.6 KB in the build. The markup, styles, script and sprite fit in the remaining 12 KB. Move the bandwidth slider to see what that buys on a phone in Chandpur.
Hero plate, uncropped source
86% smaller, cropped and compressed
Estimated from byte counts at the simulated bandwidth. Cold cache, no latency modeling.
05 // Local SEO + access
Every tier image and icon carries a plain-language description.
Text, badges, and CTAs pass AA or AAA at every size used.
Roadmap