Skip to content

design(landing): identity-first reskin — token SSOT, serif voice, monogram avatars - #107

Merged
catomean merged 1 commit into
mainfrom
design/botsmann-identity-pass
Jun 25, 2026
Merged

design(landing): identity-first reskin — token SSOT, serif voice, monogram avatars#107
catomean merged 1 commit into
mainfrom
design/botsmann-identity-pass

Conversation

@catomean

Copy link
Copy Markdown
Collaborator

Why

A design assessment found the Botsmann landing looked like a generic 2021-era AI-SaaS template with no identity of its own. The brand was fragmented across three disagreeing sources:

  • tailwind.config → OpenAI-borrowed openai-green #10a37f / openai-gray
  • globals.css → plain black/white
  • page.tsx → scattered blue→purple→cyan gradients

This PR derives Botsmann's own voice — serious, credible counsel (real domain professionals, not a toy chatbot): warm editorial ink + a single authoritative ochre accent, carried by a serif display typeface rather than gradient tricks. No reasoning-by-analogy — this does not try to look like ChatGPT/OpenAI/x.ai.

What changed

  1. Real identity as the single SSOT in globals.css — two-tier (primitive → semantic) CSS custom properties for brand / action / surface / text + radii + shadows. tailwind.config.js is wired to those vars (no literal values). Ripped out openai-green / openai-gray and migrated every consumer to the semantic action / brand tokens.
  2. Killed the generic "AI gradient" skin — removed the blue→purple→cyan gradient wordmark, the blurred gradient hero blobs, gradient buttons, and glassmorphism. Replaced with one confident ochre accent + ink and hairline editorial surfaces. Typography carries the hero.
  3. Adopted a real typeface via next/font — Fraunces (serif display, headings + wordmark) + Inter (UI/body), bound to --font-serif / --font-sans. Retires system-ui.
  4. Replaced emoji avatars (⚖️🩺🔬🇨🇭🎨♛) with a new ProfessionalAvatar monogram badge built on the existing accentColor SSOT.
  5. One headline value prop — browser tab title, hero H1, and footer now all agree on "Your Private AI Professionals" (previously the tab said "Your Data. Your AI. Your Control." while the H1 said something else).

Scope & safety

  • Design only — all content and functionality preserved. Structure (3×2 grid, How-It-Works, Privacy, Enterprise band) kept; only the surface was reskinned.
  • Token-SSOT discipline — no bg-[#hex], tailwind maps to CSS vars, tokens live only in globals.css.

Verification

  • npm run lint (next lint --max-warnings 0) → clean
  • npx tsc --noEmit → no new errors (the one error in tests/__tests__/lib/embeddings.test.ts is pre-existing on main, unrelated to this PR)
  • next build → compiled successfully; production CSS resolves the full token chain (--color-action: var(--primitive-ochre-600).bg-action{background-color:var(--color-action)})
  • Visual before/after captured at 1440×900 via Playwright

🤖 Generated with Claude Code

…ogram avatars

Botsmann had no identity of its own: a generic 2021-era AI-SaaS skin with the
brand fragmented across three disagreeing sources (config OpenAI-green,
globals.css black/white, page blue/purple/cyan gradients). Derive Botsmann's
OWN voice — serious, credible counsel: warm editorial ink + a single
authoritative ochre accent, carried by a serif display face, not gradient tricks.

- globals.css is now the single SSOT for design tokens (semantic colors for
  brand/action/surface/text + radii + shadows, two-tier primitive→semantic).
- tailwind.config wired to the CSS vars; literal colors removed. Ripped out the
  OpenAI-borrowed tokens (openai-green #10a37f / openai-gray) and migrated every
  consumer to the semantic `action` / `brand` tokens.
- Killed the generic "AI gradient" skin: removed the blue→purple→cyan gradient
  wordmark, the blurred gradient hero blobs, gradient buttons, and glassmorphism.
  Replaced with one confident ochre accent + ink, hairline editorial surfaces.
- Real typeface via next/font: Fraunces (serif display, headings + wordmark) +
  Inter (UI/body), bound to --font-serif / --font-sans. Retires system-ui.
- Replaced emoji professional avatars (⚖️🩺🔬🇨🇭🎨♛) with a ProfessionalAvatar
  monogram badge built on the existing accentColor SSOT.
- One headline value prop: tab title, hero H1 and footer now all agree on
  "Your Private AI Professionals" (was a split tagline vs H1).

Design only — all content and functionality preserved. Lint clean; no new tsc
errors (the pre-existing embeddings.test.ts error is unchanged from main);
production CSS resolves the full token chain.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@catomean
catomean merged commit 0f8a0a2 into main Jun 25, 2026
1 of 3 checks passed
@catomean
catomean deleted the design/botsmann-identity-pass branch June 25, 2026 17:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant