brand-RFC-001 — Brand site architecture

ratified mandatory

Brand assets (logo, color, typography, icon, downloads, press, legal) live as subpages of the existing `brand.koder.dev` Jet vhost, which is the Area-9-of-9 hub of the Koder ecosystem ("How the ecosystem shows itself to the world. Marketing sites, brand assets, public documentation"). The Area-9 hero stays at `/`; the brand-assets pages land at `/logo/`, `/color/`, `/typography/`, `/icon/`, `/downloads/`, `/press/`, `/legal/`. Path C of three reconciliation paths considered; preserves the 9-Area URL symmetry, implements the textual promise of the Area-9 hub, zero migration. KDS at `kds.koder.dev` remains the dev reference.

Status

  • 2026-05-22 ratified: split-from-KDS decision + URL reconciliation Path C.

Implementation tracking:

  • meta/brand/koder-design#031closed (this RFC is the decision artifact).
  • meta/brand/koder-design#032 (brand-site emitter) — unblocked, refit scope: emitter absorbs the existing meta/sites/brand/index.html Area-9 hero as / content and adds the 7 brand-assets subpages.
  • tools/design-gen#098 (KDS footer link) — unblocked, target URL confirmed https://brand.koder.dev/.
  • projects/koder-stack#159 (DNS + Jet vhost provisioning) — closed as no-op (vhost already exists; same root /var/www/brand.koder.dev/; #032 emitter just deploys to the existing slot).

Decision (ratified 2026-05-22, Path C)

The Koder brand site lives at https://brand.koder.dev/, the existing Area-9-of-9 hub of the Koder ecosystem. The Area-9 hero ("Koder Brand & Presence — How the ecosystem shows itself to the world. Marketing sites, brand assets, public documentation.") stays at /. The seven concrete brand-assets pages land as subpages: /logo/, /color/{verge,editorial}/, /typography/, /icon/, /downloads/, /press/, /legal/.

This implements the textual promise of the Area-9 hub — the hub page text already names "brand assets" as part of its scope; this RFC ratifies the concrete sub-URL layout under that promise.

The brand site is an institutional surface, in the sense of specs/landing-pages/institutional.kmd. It carries the marca-facing content (what a journalist, PR agency, partner marketer, or external graphic designer needs to use the Koder brand correctly).

kds.koder.dev remains the developer reference — design tokens, component specs, Verge presets, RFCs, code snippets — built and maintained as a high-cadence engineering doc surface.

Rationale

Industry-pattern analysis: of 16 surveyed tech companies (GitHub, GitLab, Shopify, Microsoft, Stripe, Figma, Slack, Linear, Adobe, Heroku, Material, Adobe Spectrum, Atlassian, Vercel, Mailchimp, Netflix), 12 split brand from design system on separate surfaces. Only Atlassian and Vercel mix the two (and both have been moving toward a split, per public roadmap posts).

Six reasons the split applies cleanly to Koder:

1. Distinct audiences

  • Brand site — external: journalists, PR agencies, marketing

    partners, external graphic designers, sales decks of partners.

  • KDS — internal + dev-external: Koder engineers, Koder product

    designers, external integrators reading the SDK reference.

Mixing the two means a journalist clicking "media kit" lands on a page that talks about CSS variables.

2. Granularity mismatch

  • Brand site — ≤ 10 pages (sitemap below). Always-visible nav.
  • KDS — hundreds of spec pages, deep nav, search-driven.

If brand pages live inside KDS, they get buried under the spec hierarchy. If KDS pages live inside the brand site, they break the brand site's flat-and-polished feel.

3. Cadence mismatch

  • Brand site changes in years (typeface rollouts, palette

    refreshes, logo updates, new press materials).

  • KDS changes weekly (new tokens, new component specs, new RFCs,

    bug fixes to docs).

Different deploy pipelines want different ownership and different review processes. Brand assets get reviewed by the owner; KDS changes go through engineering review.

4. Voice/tone mismatch

  • Brand site — institutional, polished, marketing-shaped CTAs

    ("Download the press kit", "Request brand permission").

  • KDS — technical, normative, code-shaped CTAs ("Read the spec",

    "Copy the token", "Try in CodeSandbox").

Hard to satisfy both with one layout, one type-scale, one nav.

Brand assets carry usage restrictions: "Do not modify the logo. Use with permission. Reserved Font Names apply per OFL." A dedicated site states this front and center without polluting the KDS license framing (which is engineer-aimed and code-aimed).

6. Monorepo alignment

meta/brand/koder-design/ is already a distinct module from tools/design-gen/ (which renders KDS). The site split mirrors the source split — one source dir → one output surface, one source dir → the other. The current `toolsdesign-gendistlocalebrand