Design System

Start - Overview

Overview
Review paths

Hybrid native-brand review surface

Design System Overview

Review KnearMe surfaces through three layers at once: product-native primitives, host behavior from the Apps SDK, and external structural references. The goal is not to copy ChatGPT or Claude. The goal is to make our own system easier to use, easier to review, and clearer about what is production guidance versus inspiration. Start with Widgets & Registry when you need the source-backed inventory of Apps SDK and ChatKit patterns before choosing a surface.

Coverage snapshot

15 showcase buckets tracked through the registry.

6

stable

6

rolling out

3

candidate

Source Layers

These are the three inputs this site should make visible before anyone starts copying patterns.

What it is for

Anchor every review in KnearMe terms first, host rules second, and references third.

Use when

You are deciding whether a pattern belongs in production, in a demo only, or in a future parity pass.

Do not use when

You only want a raw component inventory. This route is opinionated by design.

Related patterns

App Surfaces · Navigation & Shells · Foundations

Escalation path

If a pattern conflicts with host behavior, the Apps SDK rule wins. If not, the KnearMe product language wins.

KnearMe primitives

Work Forward tokens, existing chat primitives, and production surfaces remain the brand source of truth.

Reference layer

Apps SDK host rules

OpenAI host behavior defines what an inline app, fullscreen escalation, and widget metadata contract should do.

Reference layer

External references

ChatKit provides structural guidance for density, media balance, and CTA restraint.

Reference layer

Start Here

Enter by job, not just by taxonomy.

Font Pairing Demo

Use host-native or system stacks for inline/chat surfaces first. Treat the brand pair as a fullscreen or public-surface option, not the default embedded recommendation.

Inter + Manrope

Best for a calm, enterprise-friendly baseline across chat, forms, and dashboards.

Heading

A clean, modern production default.

Use this when you want a polished workspace tone with strong accessibility and predictable rhythm at small sizes.

Manrope + Space Grotesk

Good when hierarchy needs to feel friendlier without feeling toy-like.

Heading

Friendly contrast for practical interfaces.

Choose this if you want a slightly editorial headline while keeping body copy readable in long threads.

Sora + Inter

Great for dashboard-style surfaces and product-forward sections.

Heading

A sharper, technical UI voice.

Use if you want a premium but legible tone for status cards, plans, and decision summaries.

Space Grotesk + Nunito Sans

This pairing keeps headings distinctive while preserving relaxed reading comfort.

Heading

Editorial energy without losing clarity.

Ideal for showcase pages, onboarding narratives, and sections that need a bit more warmth.

Red Hat Display + IBM Plex Sans

Feels premium without sacrificing technical readability in body lines.

Heading

A confident, editorial brand signal.

Brand-forward option

Works well for trust-focused surfaces and feature-forward pages with clear action pathways.

Poppins + Nunito Sans

A good consumer-facing default if you want higher emotional warmth.

Heading

Soft geometry with a welcoming tone.

Use where you want to de-emphasize rigor and make utility content feel less rigid.

MCP Client Interface Demo

UI-only adapter pattern for ChatGPT/Claude-style MCP app surfaces: inline card, inline carousel, PiP, and fullscreen detail.

What it is for

Keep existing tools/contracts intact while improving how tool results are surfaced in chat.

Use when

You need to design interaction flow for browse -> detail -> action without introducing protocol forks.

Do not use when

You are changing tool schemas or moving business logic into UI state.

Related patterns

App Surfaces · Artifacts · Navigation & Shells

Escalation path

Inline card -> inline carousel -> PiP or fullscreen detail -> return to transcript state.

Developer details

Start from these files when you need to trace the live implementation.

src/app/demo/design-system/_components/McpClientInterfaceDemo.tsx · src/app/demo/design-system/app-surfaces/page.tsx

Scenarios
Playback
Panel

New chat

Shared shell preview
New chat

Welcome to KnearMe! I'd love to help you build a portfolio piece for that stone veneer project. It sounds like a great showcase of your craftsmanship. Let's start by gathering some details.

New message from assistant: Welcome to KnearMe! I'd love to help you build a portfolio piece for that stone veneer project. It s

Panel placeholder (V2 panel removed)

Coverage By Section

Registry status, provenance, and usage are summarized here so the showcase reads like a review tool instead of a flat index.

Foundations

Tokens, typography, spacing, and the base Work Forward visual contract.

Statusstable
Examples0
Intentinspect-tokens
Provenance: knearme · audit

Primitives

Reusable controls and base UI building blocks.

Statusstable
Examples46
Intentcompose-primitives
Provenance: knearme · shadcn

Portfolio

Public-facing portfolio blocks and renderer patterns.

Statusstable
Examples11
Intentcompose-primitives
Provenance: knearme

Forms

Validated input flows and field composition patterns.

Statusstable
Examples0
Intentcompose-primitives
Provenance: knearme · shadcn

Inputs & Composer

Prompting, quick actions, and input rows that start runtime work.

Statusrolling-out
Examples1
Intentcompose-primitives
Provenance: knearme · apps-sdk · audit

Messaging

Message rows, activity indicators, and thread-native continuity patterns.

Statusrolling-out
Examples5
Intentcompose-primitives
Provenance: knearme · audit

Navigation & Shells

Bounded shells, context rails, panel states, and shell navigation grammar.

Statusrolling-out
Examples8
Intentdesign-shell
Provenance: knearme · apps-sdk · chatkit · audit

Artifacts

Reference cards, generated payloads, and decision-carrying in-chat artifacts.

Statusrolling-out
Examples14
Intentreview-artifacts
Provenance: knearme · apps-sdk · audit

Generative UI

Renderer contract, registry shape, and runtime-to-artifact composition.

Statusstable
Examples3
Intentreview-artifacts
Provenance: knearme · apps-sdk

AI Elements

Provider-aligned compound UI patterns used alongside KnearMe chat surfaces.

Statusstable
Examples11
Intentcompose-primitives
Provenance: ai-elements · knearme

Registry Items

Legacy installable list-detail family pages retained for compatibility with the earlier rollout.

Statuscandidate
Examples0
Intentbuild-inline-surface
Provenance: knearme · apps-sdk · audit

Widgets & Registry

Source-backed widget inventory plus installable KnearMe surface contracts.

Statusrolling-out
Examples7
Intentbuild-inline-surface
Provenance: knearme · apps-sdk · chatkit · audit

App Surfaces

Inline cards, rails, fullscreen shells, and host-aware app surface behavior.

Statusrolling-out
Examples8
Intentbuild-inline-surface
Provenance: knearme · apps-sdk · chatkit · audit

Examples & Recipes

End-to-end compositions and recipe-level system guidance.

Statuscandidate
Examples3
Intentcompare-mobile
Provenance: knearme · audit

Voice & Settings

Voice mode, settings surfaces, and preference handoff patterns.

Statuscandidate
Examples1
Intentcompare-mobile
Provenance: knearme · audit

Missing / Next

These callouts come directly from the current audit backlog and should stay visible from the landing page.

Keep the new Widgets & Registry inventory current and add production-backed carousel and PiP implementations.

Expand mobile-only app states and list/map/card embed recipes.

Document policy and approval recipes with before/after states.

Review Standard

A page in this system should show high-signal examples first and implementation detail second.

What good looks like

Task entry, pattern guidance, examples, then developer details.

Pattern framing before source paths
Examples that answer a real design decision
Implementation details collapsed behind developer affordances

What this replaces

The old implementation-first inventory mode.

Hard redirect into one page
Source path shown before intent
Mobile nav consuming the first viewport