Digital Brand Guide — Product Requirements Document
⚠ Historical document. This PRD predates the MCP product strategy. It conceives the brand guide as a standalone web product per client. The product has since evolved into a multi-tenant MCP-as-a-service platform (Slack bot, Claude Code skill, Codex, planned design-tool skill) with each client's brand-guide site serving as a content layer. The current canonical PRD lives at
../brand-guide-mcp/PRD.md. This doc is preserved as the original conception of the product.
Status: Draft v1 (superseded by ../brand-guide-mcp/PRD.md)
Author: Grain & Mortar
Last updated: 2026-03-10
1. Overview
A web-based digital brand guide: searchable, responsive, and built to replace the PDF brand guide. It gives clients and their teams a living reference they can actually use — find a hex value, download a logo, look up a voice guideline — without opening a file they emailed themselves six months ago.
Deployment: Vercel + custom client domain Stack: Next.js (App Router) + Tailwind CSS Content model: MDX (prose) + JSON/YAML (structured data) — designed for future Sanity migration Client model: Separate repo per client. First build is for one client. After that, the repo becomes a configurable template.
2. Problem
Static PDFs die. They get emailed around, go out of date immediately, and nobody can find anything in them. Brand teams make off-brand decisions not because they don't care — it's because they couldn't find the right file or didn't know the rule existed.
A living, searchable brand guide solves this. It's always current, always accessible, and gives people the exact answer they need in under 10 seconds.
3. Goals
- Any member of the client's team can find any brand element (color, logo, tone rule) in under three clicks or one search
- Copy-to-clipboard for color values, font names, and other utility data
- Asset downloads for logos, icons, and files
- WCAG 2.2 AA accessibility compliance
- Light/dark/system theme support
- Password-protected access per deployment
- G&M can update content via PRs; client does not need CMS access in v1
- Content shape is CMS-ready — Sanity integration is addable without restructuring
4. Non-Goals (v1)
- Code components or a design system — that's a separate product. This guide defines the brand; the design system implements it in code.
- Client-side content editing — G&M manages content via Git/PRs in v1
- Multi-tenant platform — no shared infrastructure, no admin panel, no subdomain routing across clients
- User accounts or role-based access — single password per deployment
- Incremental/real-time search indexing — static index rebuilt on deploy is sufficient
- Video embeds
- AI search
5. Users
Primary: Client's internal team — marketing, design, product, agencies, vendors — anyone who needs to use or apply the brand.
Secondary: G&M team managing and updating the guide on behalf of the client.
Users are not developers. The guide must be approachable and fast for non-technical people.
6. Content Taxonomy
This is the canonical structure for what belongs in a brand guide vs what doesn't. Clients need clear buckets so they know what to add, what to update, and what belongs elsewhere.
What lives in the Brand Guide
The brand guide answers: what our brand is, how it looks, and how it sounds. It is rules-first, not code-first.
| Section | Contents |
|---|---|
| Brand Foundation | Story, mission/vision/values, personality traits, audience overview, brand promise |
| Visual Identity → Logo | Primary, secondary, wordmark, icon-only variants; clear space rules; sizing minimums; do/don't; file downloads |
| Visual Identity → Color | Primary, secondary, neutral palettes; HEX/RGB/CMYK/Pantone; usage rules; contrast guidance; color scale if applicable |
| Visual Identity → Typography | Typefaces, weights, usage hierarchy, specimen examples, licensing source link |
| Visual Identity → Iconography | Icon set display, sizing rules, usage context, download |
| Visual Identity → Photography & Imagery | Style direction, mood, do/don't, example images |
| Voice & Tone | Brand voice traits, tone spectrum by context, writing guidelines, example copy, do/don't |
| Assets & Downloads | Logo files (SVG, PNG, PDF), brand kit zip, templates (social, presentations) |
Sections are modular. A small client may skip Brand Foundation and Photography. A larger client may add Illustration, Motion, or Co-branding rules later.
What does NOT live here
| Item | Belongs In |
|---|---|
| Code components (buttons, inputs, cards) | Design System |
| CSS/design tokens in code form | Design System |
| Storybook / interactive component docs | Design System |
| API documentation | Developer docs |
| Marketing copy or campaign assets | Client's internal files |
The rule: if you need a browser and a code editor to consume it, it's a design system concern. If you need it to make a creative decision, it's a brand guide concern.
7. Feature Requirements
7.1 Search
Search is a core feature, not a nice-to-have.
- Command palette style — keyboard shortcut (
Cmd+K/Ctrl+K) opens a modal search. Type to jump. - Index scope: Page titles, headings/anchors, structured records (colors by name and hex value, fonts by name, assets by name)
- Grouped results — results categorized by type: Colors / Typography / Logos / Assets / Guidelines
- Deep links — results link to the specific heading or anchor, not just the top of the page
- Static index — built at deploy time, shipped with the site. No external service required in v1.
- Recommended: Flexsearch or Fuse.js for the static index
Future: Algolia or Typesense upgrade if index size or analytics become necessary.
7.2 Navigation
- Left sidebar IA
- Two-level depth: Section → Pages
- Active section highlight and scroll spy
- Collapse/expand for long sections
- Mobile: Off-canvas drawer with toggle. Separate "browse" and "search" entry points on small screens.
7.3 Theme
- Three modes: Light / Dark / System
- Toggle in global header
- Persists via localStorage
7.4 Color Section
- Swatch cards: color name, HEX, RGB, CMYK/Pantone (if provided by client)
- One-click copy button for each value format
- Optional: right-click to copy (Geist pattern)
- Usage notes per swatch
- Contrast guidance (AA/AAA pass/fail against white and black)
- Swatches organized by palette role (Primary, Secondary, Neutral, etc.)
7.5 Typography Section
- Typeface specimens — full alphabet, numbers, punctuation
- Weight/style table
- Hierarchy examples: H1–H6, body, caption, label, etc. — rendered in the actual font
- Usage rules (when to use each weight/style)
- Font licensing: link to source (Google Fonts, Adobe, foundry) — no font file hosting in v1
- Copy font-family stack button
7.6 Logo Section
- Render all variants: primary, secondary, reversed, icon-only, wordmark
- Usage rules: clear space diagram, sizing minimums
- Do/don't examples (rendered inline)
- Background context: show logo on white, dark, and color backgrounds as applicable
- File downloads: SVG, PNG, PDF per variant
- Download all as zip (brand kit)
7.7 Iconography Section
- Icon grid display with label
- Size and spacing rules
- Usage context (when to use, when not to)
- Individual download per icon
- Download all as zip
7.8 Photography & Imagery Section
- Moodboard-style grid
- Do/don't examples
- Guidance on subject, lighting, composition, color treatment
- Optional: link to licensed image sources
7.9 Voice & Tone Section
- Brand voice traits (3–5 adjectives with explanation)
- Tone spectrum: formal → casual, with guidance for each context (social, email, press, support)
- Writing rules: grammar preferences, punctuation style, capitalization
- Example copy pairs: "this / not this"
- Persona or audience framing if relevant
7.10 Assets & Downloads
- Organized by type: Logos, Icons, Templates, Brand Kit
- Individual file downloads
- Download all (zip)
- Optional: version note per file (current vs legacy)
7.11 Access Control
- Single password per deployment via Next.js middleware (Basic Auth)
- Preview URL (Vercel preview deployments) and production may use different passwords via env vars
- Password rotation = update env var + redeploy (acceptable for v1)
- No user accounts, no email gates
7.12 Accessibility
- Target: WCAG 2.2 AA
- Keyboard navigable — including command palette, sidebar, and all interactive elements
- Proper focus management in modal search
- All images have alt text
- Color contrast meets AA minimums in both light and dark themes
8. UX Direction
Reference: Geist/docs-style structure with a polished, elevated visual treatment. Not a dev docs site. Not a marketing site. Somewhere between the two.
- Sidebar IA is the primary navigation — structured and reliable
- Command palette search is the power-user shortcut
- Typography and whitespace do the heavy lifting visually
- Color section is utility-first (copy, reference, apply)
- The guide should feel like something the client is proud to share with vendors and agencies
Not editorial. Not storytelling-heavy. Purposeful and well-crafted.
9. Technical Architecture
| Layer | Decision |
|---|---|
| Framework | Next.js (App Router) |
| Styling | Tailwind CSS |
| Content: prose | MDX (local files in v1) |
| Content: structured data | JSON or YAML (colors, fonts, assets, icons) |
| Search | Static index (Flexsearch or Fuse.js), generated at build time |
| Hosting | Vercel |
| Auth | Next.js middleware — Basic Auth via env vars |
| Asset storage | In-repo (public/ directory) for v1 |
| CI/CD | Vercel auto-deploy on push to main |
CMS readiness: Content is structured in a way that maps cleanly to Sanity document types. When the time comes, MDX files → Sanity documents, JSON files → Sanity datasets. The component layer does not need to change.
10. Content Management (v1)
G&M manages all content updates via PR. No client login, no CMS.
Workflow: 1. Client requests a change (email, Basecamp, etc.) 2. G&M updates the relevant MDX or JSON file 3. PR merged to main → Vercel auto-deploys 4. Change is live
This is intentionally simple. It works until either (a) the client needs to self-edit, or (b) G&M has enough clients that the maintenance volume justifies CMS tooling.
11. Future Considerations (v2+)
These are out of scope for v1 but should not require architectural changes to implement:
- Sanity CMS — client self-editing, structured content management, webhook-triggered redeploys
- Algolia / Typesense — upgraded search with analytics (popular queries, zero-result reporting)
- Sub-brand support — switcher or separate sections for brand extensions
- Changelog — content version history, deprecation notices
- Download bundles — auto-generated brand kit zips
- Figma links — embedded previews or links to component library
- Multi-client template — repo becomes a configurable template; new client = clone + config file
12. Open Questions
| Question | Owner | Notes |
|---|---|---|
| Who is the first client? | Eric | Determines actual content requirements and timeline |
| Does the first client need CMYK/Pantone values? | G&M → Client | Determines color data model complexity |
| Does the first client have a custom icon set, or are they using a library (FA, Lucide, etc.)? | G&M → Client | If library, iconography section may just be guidance, not a download section |
| Font licensing: are any typefaces restricted from web use? | G&M → Client | Determines whether font files can be hosted or only linked |
| What's the password strategy? One password shared with the whole team, or restrict more tightly? | Eric | Middleware Basic Auth is simple but shared; explore Vercel Password Protection add-on if needed |
| Should the guide be publicly accessible or always gated? | G&M → Client | Some clients want it open; others want it behind auth |