Decisions — Beauty by Dilek
Lead build: the business has not been contacted. Per the suite's lead-mode rule, every
judgment call below was made by the agent (not asked to a client) and is listed here as an
override point for whoever picks this lead up. Confirm/override at first contact.
Operating mode: draft-first
- Decision: Build a full draft site now, DRAFT=true (ribbon + noindex +
/dossier-*/), rather than stopping at styleguide-only or asking questions of the business. - Why: Confirmed with the operator (Alexia) at kickoff — 2026-08-12. This is a lead/outreach asset: a working draft is a stronger opener than a styleguide alone.
- Override: flip
DRAFT=falsein the site config once a real client relationship exists and TODO.md's fact list (T1–T6) is resolved.
Languages: German (primary) + English (secondary)
- Decision: de-CH primary, en secondary.
- Why: Operator-confirmed default for a Zürich business (2026-08-12). Reviews are in English/Swiss-German; no signal against German as the operating language.
- Override: T6 in TODO.md — confirm actual client-facing language(s) at first contact; a review's mention of Turkish music is atmosphere, not a language signal (see cautions.md).
Publish scope: deploy a Cloudflare preview
- Decision: Push to a private GitHub repo (
sitecheck-projects/beauty-by-dilek) and deploy a noindex Cloudflare Pages preview, so the lead has a real URL to open in outreach. - Why: Operator-confirmed at kickoff (2026-08-12).
Category: beauty-nail-salon-or-aesthetic-clinic
- Decision: Kept the auto-mapped category from
beauty_salon(Google Places type). - Why: Confirmed against dossier contents — service list (lash/brow, waxing, microblading, nails, pedicure) matches the spec's sitemap and conversion mechanics cleanly. No deviation needed. See
build/category-mapping.md.
Brand DNA: greenfield-but-not-quite — real logo + real interior recovered from Places photos
- Decision: Treated this as a greenfield build per
extracting-brand-dna.md(no existing website), but anchored the palette to two *real* photographic sources found in the Google Places photo set rather than picking from vibes:
1. photo6.jpg / photo1.jpg — a clear shot of the actual salon logo: a black circular badge, double-ring rose-gold/copper foil outline, a glitter-foil eyebrow icon, and a script "Beauty by Dilek" wordmark in the same rose-gold.
2. photo3.jpg — a real interior shot: warm cream/greige walls, grey tile floor, black salon furniture, a gold-framed mirror and gold wire side-table, a graphic black/teal face-portrait wall print.
- Colors were eyedropped with
sample-colors.mjs, not guessed — seebrand/design-tokens.jsonfor the exact sampled hexes and source pixel coordinates. - Why this matters: the "swap test" in the distinctiveness checklist only passes if the palette is *this* business's actual black-and-rose-gold, not a generic "beauty salon" sage-and-cream default.
- Typography: picked 'Playfair Display' (headline) + 'Jost' (body) rather than recreating the logo's script as a live webfont — script is illegible at UI sizes and fails accessibility; the geometric circularity of Jost's letterforms was chosen deliberately to echo the ring motif in the real logo. The script survives only as the reproduced logo image/SVG, never as body or heading text.
- Radii: skewed toward rounded/pill shapes (buttons, image crops) — a deliberate callback to the circular badge in the real logo, not a generic "soft UI" choice.
Pricing: real prices sourced from a photographed price list, not invented
- Decision:
content/identity.mdnow contains the salon's actual service menu and CHF prices, transcribed fromphoto1.jpg— a Google-hosted photo of the salon's own printed price sheet. - Why: This removes what would otherwise be the single biggest
[TBD:]gap in a beauty-salon draft (the category spec calls out "hiding prices" as a pitfall). A photographed price sheet beats a placeholder, but it's still a snapshot — flagged incautions.mdto reconfirm before go-live.
Distinctiveness review — 2026-08-12
- Token discipline: pass —
check-tokens.mjsclean (0 violations after routing the one intentional767.98pxbreakpoint-boundary value through atokens-okwaiver). - Visual distinctiveness: pass, with one flagged-and-accepted resemblance.
check-distinctiveness.mjsflaggedprimary(#2b2523) andaccent(#987a60) as within threshold ofsilvia-jayet-reflexologie's palette (#2a302a / #8a5e48) — both are also near-black-plus-warm-metal palettes. Reviewed and accepted: our colors are eyedropped directly from *this* business's own photographed logo badge and interior (not chosen from vibes — seebrand/styleguide.md"Source material"), so shifting them to manufacture more distance would mean overriding the client's actual branding to satisfy a heuristic. Two unrelated businesses converging on black+bronze-gold is plausible on its own (a common beauty-industry palette family) and doesn't indicate template laziness here. Other distinctiveness axes hold up: hero layout (left-aligned, no photo — since no licensed photography exists yet, T5) doesn't match any of the five recent hero patterns (left-text-photo-right×2,left-text-arch-photo-right,centered-text-wide-arch-below,full-bleed-photo-scrim-red-chip); the WhatsApp-first booking CTA (not a contact form) is mechanically distinctive and directly sourced from how reviewers describe actually booking; the granular real price list (20+ line items in CHF) is content-level distinctiveness no template would produce. - Source-site fidelity: N/A (greenfield, no prior website) — but real-photo fidelity holds: palette traces to the actual logo/interior photos, not invented.
- Reviewer: agent (Claude), lead build — flag for a human designer's second look at go-live if the operator wants extra separation from the reflexology site above.
What's still [TBD:] for a human to answer (see TODO.md)
- T1 exact hours confirmation (Places hours used as the placeholder), T2 certifications/diplomas, T3 payment methods + accessibility, T4 legal entity name/UID, T5 real photos with consent, T6 service languages, T9–T11 styleguide/domain/category-spec approval.