Kelbin · template design language
Six homepages, six different page shapes. A salon and a plumber are not the same site with different words: they have different sections, in a different order, answering the question their customer actually arrives with. What they share is the craft — the scale, the measure, the contrast rules, the accent discipline.
The chat is its own page, not a corner bubble. Every entry point navigates to a real URL carrying both the intent and its subject — press a time slot and the conversation opens already holding the day, the service and the price. “Back to site” returns to the exact scroll position you left. One small “Ask Kelbin” doorway navigates there too; there is no panel anywhere.
Read the specification for the mechanisms underneath this pack — the block registry, the four masters, the chat contract, every standing rule with the test that proves it, and what separates a built template from a 10/10 one.
There is no photographic or illustrative content at all — only type, blocks, rules and one accent pair each. Image slots are neutral raised blocks labelled with what belongs in them, so you can see whether each composition holds when a business has no photographs worth using.
Every button opens a chat that is already working: the intent sent,
Kelbin answered. No button anywhere produces an empty box. Add ?name=long to
any page — or use the link in its corner — to see the same layout carrying a
~60-character business name.
Shape: triage → service radius → callout prices → hours. No gallery, no address worth visiting, no prices for the work itself. The hero names the problem before it says anything about the business.
Shape: next-available times → the room → services with prices → hours. Mood first, then four real slots you can take.
Shape: an open/closed board → today’s menu → the room → where. No booking anywhere — the question a café gets asked is “are you open”, so that is the hero.
Shape: conditions treated → what happens at a first visit → fees → parking and transport. Chosen on “can you help with this, and how soon”.
Shape: a capacity statement → how the year runs → what is taken on → where. One enquiry, no prices, and scarcity stated plainly instead of implied.
Page structures only possible because Kelbin answers the long tail. Same tokens, same pairings, same postures — only the structure varies.
One screen: name, one line, hours, location, one action. Nothing else — because every question the page refuses to answer, the chat answers.
The homepage IS the menu card — typeset with dotted leaders, not UI. Every item is a doorway: tap the loaf and Kelbin already knows the count.
Opens with the customer’s problem — “Where does it hurt?” — in plain words. Each entry arrives in chat carrying that context.
The composer is a commodity; identity lives in everything around it. The front desk is mocked twice — physio and dog groomer — on the identical layout, to prove two businesses on the same variant stay instantly distinguishable.
Kelbin’s opening line is the hero — true diary state, including the honest “Saturday is full”.
The dock beside the live diary it acts on. Free slots are themselves doorways; taking one carries that slot into the chat.
A master is a block sequence plus composition rules; a theme is tokens laid over it. Each page has a Kit view (every block annotated with its idiom, registry correspondence and still-works-without) and a Wireframe view — the greyscale test that proves the four masters stay distinguishable with the dress removed.
The identical file apart from one dress attribute — verifiable by diff. The proof that themes are tokens, not rebuilds.
The name IS the hero. Zero photography — not even a slot — as a first-class path.
A small business keeps two things worth designing around: what is in the book, and what it already knows about you. Rounds 1–5 designed the page a stranger lands on. These four design the page for a business that has a diary and a customer record, and would rather show you the true state of both than a brochure. Every claim on these pages is state the business actually holds — no page counts down, counts viewers, or says only two left.
The week is the homepage. A taken slot says taken and is not a link — the page cannot offer what is not free. Each day states its own count, Wednesday and Saturday say full, and the two days the shop is shut are named rather than quietly missing. Taking a slot carries it into chat and returns a card.
The same page in both states, side by side. Known: the booking, the last visit, the colourist’s own note. Stranger: no name, no history, no “welcome back” — a different page, not a badge on the same layout. Recognition changes what the page is about.
Not a homepage: the gap between two appointments. Last visit, next visit, what the clinician actually asked for in between, and one action to change it. Carries the typeset appointment card in situ.
Booked out is the headline, not a hidden state. Four pieces in the workshop, six people ahead of you, next intake November — the real position, quantified, with the waitlist run through Kelbin and nothing charged to join it.
Rules and tabular figures, set the way a printed appointment card is set. It carries only what the business issued: the physio’s card has a reference because the clinic has one; the barber’s does not, because the shop never issued one, and it says the slot is held rather than paid for. No QR, no barcode, no proof that does not exist.
Not one of these pages carries a statistic, a testimonial, a review count, an award, a years-in-business figure, a logo, or a team section. A new salon has none of them, and a generator handed an empty proof slot will invent one. There is no slot to fill.
Name, phone and location appear in the header, in the body and in
the footer of every page — not only at the bottom — and each page ships
LocalBusiness structured data.