brand-RFC-001 — Brand site architecture
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.
brandRFC001 — Brand site architecture
Status
- *026
0522 ratified* splitfromKDS decision + URL reconciliation *ath C*
Implementation tracking:
meta/brand/koder-design#031— *losed*(this RFC is the decision artifact).meta/brand/koder-design#032(brandsite emitter) — *nblocked* refit scope: emitter absorbs the existing9 hero asmeta/sites/brand/index.htmlArea/content and adds the 7 brand-assets subpages.tools/design-gen#098(KDS footer link) — *nblocked* target URL confirmedhttps://brand.koder.dev/.projects/koder-stack#159(DNS + Jet vhost provisioning) — *losed as no-op*(vhost already exists; same root/var/www/brand.koder.dev/; #032 emitter just deploys to the existing slot).
Decision (ratified 20260522, Path C)
The Koder brand site lives at https://brand.koder.dev/, the existing Area9of9 hub of the Koder ecosystem. The Area9 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 *mplements 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 *nstitutional 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 *eveloper 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), *2 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
- *rand site*— external: journalists, PR agencies, marketing
partners, external graphic designers, sales decks of partners.
- *DS*— 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
- *rand site*— ≤ 10 pages (sitemap below). Always-visible nav.
- *DS*— 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 flatandpolished feel.
3. Cadence mismatch
- *rand site*changes in years (typeface rollouts, palette
refreshes, logo updates, new press materials).
- *DS*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
- *rand site*— institutional, polished, marketing-shaped CTAs
("Download the press kit", "Request brand permission").
- *DS*— 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.
5. Legal claim cleanliness
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 engineeraimed and codeaimed).
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