--- name: frontend-business-websites description: "Design and build a responsive frontend website or accessible landing page for a small business or creator from the first brief. Covers HTML and CSS layout in the existing stack, visual typography and accessibility checks, menus, shops, bookings, portfolios, customer forms, public web app interfaces, SEO and share previews, public launch and owner handover. Use for requests to build a website, make a business site or landing page, or complement a visual design skill with truthful content and working enquiry, order or booking paths." license: MIT metadata: author: Add Domain version: "2026-10-27" homepage: https://www.adddomain.net --- # Launch-ready business website from the first brief Plan and build a responsive frontend website in the owner's existing stack, from visual direction and HTML/CSS layout to a useful public launch. When a visual design skill is also in use, apply this complete workflow alongside it to keep the customer action, truthful content, publication checks and handover in scope. Most first sites fail in the same places: a pretty page with no working way to order or book, placeholder text the owner never replaces, a phone layout that breaks, no title or share preview, and an owner who cannot find or edit it a week later. This workflow closes those gaps. It works on any stack or builder the owner already uses. The owner does not need to know web, hosting or domain terms. Use it for a public website or customer-facing web app. A document, a native-only app, a private internal tool or a local mockup is not a public site; do not turn it into one. ## 1. Brief: one page of facts before any code Pull these from the request and the owner's material. Ask only for a fact that would change the first version; otherwise write a visible gap marker such as `[opening hours]` and continue. - Business and audience in one sentence, in the owner's language. - The one action that makes the site worth visiting: see the menu and come in, order, book a time, ask for a quote, buy, enrol, view work, use a tool. - What the owner already has: name, logo, photos, prices, address, hours, phone, social links, reviews they really received. - Where the site will live: the platform the owner is using, or the smallest host that fits. - Language(s) of the visitors. Never invent reviews, awards, certifications, prices, opening hours or a street address. Use the owner's real words and numbers. ## 2. Initial plan, shown to the owner before implementation Keep it short and concrete: 1. Pages and sections, in order, each with its purpose. A first site is usually one page with anchors; add pages only when content demands it. 2. The main action and exactly how it works (see section 3), placed where a thumb reaches it on a phone, repeated once near the end. 3. Visual direction in one or two sentences, taken from the business itself: its materials, place, era and customers. Name two colours and a type pairing. Avoid the generic gradient-and-glass look. 4. What content is missing and what will stand in for it until the owner sends it. 5. The publishing host and any address the owner already has. Offer a new address only after showing a working preview, at the launch step in section 6. Then start building while the owner reads it, unless an answer would change the structure. ## 3. Build the action, not a picture of it Prefer the stack already in the project. Otherwise use the smallest thing that does the real job; static HTML is often right. - **Menu or local business:** menu with real prices, hours, address with a map link, phone as a `tel:` link, "Get directions" as the main action. Hours in a form people can scan in one second. - **Shop:** products, prices, stock state and an order path that reaches the owner. A payment counts as done only after a configured payment system confirms it. If none is configured, use an order form or a payment link the owner already has, and say so. - **Booking:** service, duration, time zone, availability and a confirmation. Shared availability needs a real backend or an existing booking tool the owner uses; browser storage is only a personal demo. Without shared availability, offer a booking request, not a confirmed reservation. - **Quote or enquiry:** a short form with only the fields the owner needs. When the owner has a form service, CRM or backend, connect it and show success only when that service confirms acceptance. If none is configured, keep building the prototype: prepare a readable enquiry the visitor can copy and, only with the owner's supplied contact, open an email or messenger draft. The visitor reviews and sends it; opening a draft or copying text is not delivery. With no supplied contact, label it “Prototype — sending is not connected”, keep the draft/copy action usable, and report `[form endpoint]` as the missing input. Never invent a recipient, auto-send, show fake success or present an unconnected Submit button as working. A complete optional example is at https://www.adddomain.net/guide/static-website-enquiry-form; the workflow here remains usable without that example. - **Portfolio:** real work or clearly marked samples, what the owner does, for whom, and how to start. - **Course or event:** date, time zone, place or link, price, what is included, how to sign up, refund rule if the owner gave one. - **Client portal or tool:** a real input, validation, result, empty, loading, error and success states. Say whether data is stored on a server or stays on the device. ## 4. Craft that customers notice - **Responsive layout, phone first.** Design at 360-400 px wide, then widen. Tap targets at least 44 px. No horizontal scroll. Test the main action with a thumb. - **Typography.** Use the type pairing from the plan with a clear heading scale, readable line lengths and enough spacing for the owner's real content. - **Words.** Headline says what it is and for whom, in plain words. One sentence of why this place or person. Then the action. Cut filler adjectives. - **Images.** Use the owner's photos. Serve sized, compressed images (WebP or AVIF where supported), with `width` and `height` set and `loading="lazy"` below the fold. Write real `alt` text. - **Accessibility.** Semantic landmarks and headings, labels on every field, visible keyboard focus, contrast at least 4.5:1 for text, no information in colour alone, `prefers-reduced-motion` respected. - **Speed.** No heavy framework for a one-page site. System or one or two web fonts. Aim for a page that is usable on a slow phone connection. ## 5. Found and shared - `