Skip to content

Redesign add-in UX around the Thoughtful brand#457

Draft
kcarnold wants to merge 2 commits into
mainfrom
claude/add-in-ux-redesign-qbrksd
Draft

Redesign add-in UX around the Thoughtful brand#457
kcarnold wants to merge 2 commits into
mainfrom
claude/add-in-ux-redesign-qbrksd

Conversation

@kcarnold

@kcarnold kcarnold commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Redesign the add-in UX around the Thoughtful brand

A cohesive ink-on-paper design system for the Word sidebar (and the embedded demo editor), drawn from the lab's identity: warm paper surfaces, ink text, a single fountain-pen-indigo accent, Source Serif 4 for the wordmark and display moments, DM Sans for UI, and DM Mono for micro-labels.

What changed

Design system

  • New frontend/src/theme.css is the single source of design tokens. Previously each page declared its own conflicting :root palette — Draft, Revise, and Chat each used a different accent blue, and the winner was load-order-dependent.
  • DM Sans / DM Mono / Source Serif 4 are now self-hosted via @fontsource and bundled by webpack. The old CSS referenced these fonts but never loaded them anywhere, so the entire UI silently fell back to system fonts. Self-hosting also means no third-party CDN dependency inside Word's webview.

Per-page

  • Navbar: branded header with a serif ✳ Thoughtful wordmark + "AI that helps you think" tagline, and a segmented tab control with icons. Tab hints moved into tooltips.
  • Draft: the shouty "CLICK A DESIRED BUTTON" instruction is now a quiet "What would help right now?" section label; friendlier empty-state and disclaimer copy in brand voice.
  • Chat: serif welcome title, indigo user bubbles, restyled suggestion chips.
  • Revise: consumes the shared tokens; accent run button; dead tab styles removed.
  • Onboarding carousel: brand-voice copy describing the three actual tabs, paper background, serif titles.
  • Login / loading / access-denied / footer screens restyled to match.

Bug fixes picked up along the way

  • Chat's typing-indicator dots and the disabled send button were white-on-white (invisible).
  • A Revise tab hover was also white-on-white.
  • Draft's active-card highlight never applied — the code passed the raw string 'active' instead of the CSS-module class.
  • JS onMouseEnter/onMouseLeave style hacks for the delete button replaced with CSS :hover; large blocks of dead styles removed.

Testing

  • Production webpack build, tsc --noEmit, ESLint, and all 8 Vitest unit tests pass.
  • All 9 functional Playwright specs (draft-flows, chat-revise-flows) pass against the redesign; every test-pinned title/aria-label/button text was preserved.

Visual regression baseline

The chromium baseline was regenerated for the new design, but it was rendered locally with Chrome for Testing, so CI's rasterization may differ at the pixel level. If the visual check fails, dispatch the new snapshot-regeneration job, which re-renders the baseline in the pinned Playwright container and commits it back to this branch:

gh workflow run frontend-tests.yml --ref claude/add-in-ux-redesign-qbrksd -f update-snapshots=true

The stale firefox/webkit baselines were removed (those Playwright projects are disabled in the config), and VISUAL_REGRESSION.md was updated to describe the actual workflow.

https://claude.ai/code/session_01Ezjo5AsauWxQgNNJ3SAAVp

claude added 2 commits June 10, 2026 01:15
A cohesive ink-on-paper design system for the Word sidebar, drawn from
the lab's identity (thoughtful-ai.com): warm paper surfaces, ink text,
a fountain-pen indigo accent, and Source Serif 4 for the wordmark and
display moments.

- Add src/theme.css as the single source of design tokens; remove the
  three conflicting per-page :root palettes (each page had a different
  accent blue)
- Self-host DM Sans, DM Mono, and Source Serif 4 via @fontsource so the
  fonts referenced by the CSS actually load (they were never loaded
  before), including inside Word's webview with no CDN dependency
- Navbar: branded header with serif wordmark + segmented tab control
  with icons; hints move to tooltips
- Draft: replace the "CLICK A DESIRED BUTTON" instruction with a quiet
  section label; fix the active-card class that never applied (raw
  'active' string vs CSS-module class); replace JS hover-opacity hacks
  with CSS; friendlier empty state and disclaimer copy
- Chat: fix invisible typing-indicator dots and disabled send button
  (both were white-on-white); serif welcome title; indigo user bubbles
- Revise: consume shared tokens, accent run button, remove dead tab
  styles (including a white-on-white hover)
- Onboarding: brand-voice copy, paper background, serif titles
- Login/loading/footer screens restyled to match
- Remove stale firefox/webkit visual snapshots (projects disabled in
  playwright config) and add a manually-dispatched CI job that
  regenerates snapshots in the pinned Playwright container and commits
  them back, since pixel-stable snapshots can't be rendered outside CI

https://claude.ai/code/session_01Ezjo5AsauWxQgNNJ3SAAVp
The chromium baseline is regenerated for the redesigned UI (rendered
locally with Chrome for Testing; if CI rasterization differs, dispatch
the new update-snapshots job to re-render it in the pinned container).
VISUAL_REGRESSION.md now describes the actual workflow name, the
chromium-only baseline, and the snapshot regeneration job.

https://claude.ai/code/session_01Ezjo5AsauWxQgNNJ3SAAVp
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.

2 participants