oh-my-design-cli 1.0.2 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/README.ja.md +7 -7
  2. package/README.ko.md +7 -7
  3. package/README.md +15 -18
  4. package/README.zh-TW.md +7 -7
  5. package/agents/omd-ux-writer.md +1 -1
  6. package/data/architecture-proposals/2026-05-13-thin-install-fresh-fetch.md +189 -0
  7. package/data/reference-audits/2026-05-13-kr10.md +132 -0
  8. package/data/reference-fingerprints.json +626 -3
  9. package/data/reference-tags.md +15 -1
  10. package/package.json +2 -2
  11. package/skills/omd-apply/SKILL.md +1 -1
  12. package/skills/omd-harness/SKILL.md +3 -3
  13. package/skills/omd-init/SKILL.md +2 -2
  14. package/web/AGENTS.md +5 -0
  15. package/web/references/29cm/DESIGN.md +445 -0
  16. package/web/references/ably/DESIGN.md +582 -0
  17. package/{references → web/references}/airbnb/DESIGN.md +158 -19
  18. package/web/references/airtable/DESIGN.md +241 -0
  19. package/{references → web/references}/apple/DESIGN.md +131 -76
  20. package/web/references/baemin/DESIGN.md +470 -0
  21. package/web/references/banksalad/DESIGN.md +606 -0
  22. package/{references → web/references}/bmw/DESIGN.md +138 -9
  23. package/{references → web/references}/cal/DESIGN.md +173 -17
  24. package/{references → web/references}/claude/DESIGN.md +11 -1
  25. package/{references → web/references}/clay/DESIGN.md +75 -0
  26. package/{references → web/references}/clickhouse/DESIGN.md +74 -0
  27. package/{references → web/references}/cohere/DESIGN.md +75 -0
  28. package/web/references/coinbase/DESIGN.md +205 -0
  29. package/{references → web/references}/composio/DESIGN.md +74 -0
  30. package/web/references/coupang/DESIGN.md +487 -0
  31. package/{references → web/references}/cursor/DESIGN.md +74 -0
  32. package/web/references/dcard/DESIGN.md +567 -0
  33. package/{references → web/references}/elevenlabs/DESIGN.md +91 -0
  34. package/{references → web/references}/expo/DESIGN.md +72 -0
  35. package/{references → web/references}/ferrari/DESIGN.md +72 -0
  36. package/{references → web/references}/figma/DESIGN.md +124 -48
  37. package/{references → web/references}/framer/DESIGN.md +143 -16
  38. package/web/references/freee/DESIGN.md +558 -0
  39. package/web/references/gangnamunni/DESIGN.md +605 -0
  40. package/{references → web/references}/hashicorp/DESIGN.md +72 -0
  41. package/{references → web/references}/ibm/DESIGN.md +68 -0
  42. package/{references → web/references}/intercom/DESIGN.md +73 -0
  43. package/web/references/kakao/DESIGN.md +490 -0
  44. package/web/references/kakaobank/DESIGN.md +533 -0
  45. package/web/references/kakaopay/DESIGN.md +529 -0
  46. package/web/references/karrot/DESIGN.md +431 -0
  47. package/web/references/kraken/DESIGN.md +219 -0
  48. package/web/references/krds/DESIGN.md +982 -0
  49. package/web/references/kurly/DESIGN.md +574 -0
  50. package/{references → web/references}/lamborghini/DESIGN.md +74 -0
  51. package/{references → web/references}/line/DESIGN.md +84 -43
  52. package/{references → web/references}/linear.app/DESIGN.md +8 -1
  53. package/{references → web/references}/lovable/DESIGN.md +73 -0
  54. package/web/references/mercari/DESIGN.md +464 -0
  55. package/{references → web/references}/minimax/DESIGN.md +72 -0
  56. package/{references → web/references}/mintlify/DESIGN.md +72 -0
  57. package/web/references/miro/DESIGN.md +252 -0
  58. package/{references → web/references}/mistral.ai/DESIGN.md +72 -0
  59. package/{references → web/references}/mongodb/DESIGN.md +72 -0
  60. package/web/references/musinsa/DESIGN.md +536 -0
  61. package/web/references/naver/DESIGN.md +518 -0
  62. package/{references → web/references}/notion/DESIGN.md +9 -1
  63. package/web/references/nvidia/DESIGN.md +491 -0
  64. package/web/references/ohouse/DESIGN.md +570 -0
  65. package/{references → web/references}/ollama/DESIGN.md +72 -0
  66. package/{references → web/references}/opencode.ai/DESIGN.md +73 -0
  67. package/web/references/pinkoi/DESIGN.md +575 -0
  68. package/{references → web/references}/pinterest/DESIGN.md +73 -0
  69. package/{references → web/references}/posthog/DESIGN.md +172 -18
  70. package/web/references/qanda/DESIGN.md +459 -0
  71. package/{references → web/references}/raycast/DESIGN.md +169 -34
  72. package/web/references/remember/DESIGN.md +445 -0
  73. package/{references → web/references}/renault/DESIGN.md +72 -0
  74. package/{references → web/references}/replicate/DESIGN.md +73 -0
  75. package/{references → web/references}/resend/DESIGN.md +73 -0
  76. package/{references → web/references}/revolut/DESIGN.md +74 -0
  77. package/web/references/ridi/DESIGN.md +517 -0
  78. package/{references → web/references}/runwayml/DESIGN.md +152 -24
  79. package/{references → web/references}/sanity/DESIGN.md +72 -0
  80. package/{references → web/references}/sentry/DESIGN.md +73 -0
  81. package/web/references/socar/DESIGN.md +370 -0
  82. package/web/references/spacex/DESIGN.md +379 -0
  83. package/web/references/spotify/DESIGN.md +426 -0
  84. package/{references → web/references}/stripe/DESIGN.md +44 -1
  85. package/{references → web/references}/supabase/DESIGN.md +73 -0
  86. package/{references → web/references}/superhuman/DESIGN.md +159 -17
  87. package/{references → web/references}/tesla/DESIGN.md +170 -0
  88. package/{references → web/references}/together.ai/DESIGN.md +73 -0
  89. package/{references → web/references}/toss/DESIGN.md +304 -50
  90. package/{references → web/references}/uber/DESIGN.md +73 -0
  91. package/{references → web/references}/vercel/DESIGN.md +9 -1
  92. package/{references → web/references}/voltagent/DESIGN.md +73 -0
  93. package/web/references/wanted/DESIGN.md +515 -0
  94. package/{references → web/references}/warp/DESIGN.md +142 -15
  95. package/web/references/webflow/DESIGN.md +253 -0
  96. package/{references → web/references}/wise/DESIGN.md +84 -0
  97. package/{references → web/references}/x.ai/DESIGN.md +85 -0
  98. package/web/references/yanolja/DESIGN.md +448 -0
  99. package/web/references/yeogiotte/DESIGN.md +424 -0
  100. package/{references → web/references}/zapier/DESIGN.md +85 -0
  101. package/web/references/zigbang/DESIGN.md +457 -0
  102. package/web/references/zigzag/DESIGN.md +618 -0
  103. package/references/airtable/DESIGN.md +0 -107
  104. package/references/baemin/DESIGN.md +0 -260
  105. package/references/coinbase/DESIGN.md +0 -129
  106. package/references/dcard/DESIGN.md +0 -302
  107. package/references/freee/DESIGN.md +0 -308
  108. package/references/kakao/DESIGN.md +0 -261
  109. package/references/karrot/DESIGN.md +0 -252
  110. package/references/kraken/DESIGN.md +0 -146
  111. package/references/mercari/DESIGN.md +0 -294
  112. package/references/miro/DESIGN.md +0 -108
  113. package/references/nvidia/DESIGN.md +0 -308
  114. package/references/pinkoi/DESIGN.md +0 -309
  115. package/references/spacex/DESIGN.md +0 -205
  116. package/references/spotify/DESIGN.md +0 -246
  117. package/references/webflow/DESIGN.md +0 -109
@@ -63,16 +63,72 @@ What makes BMW distinctive is its CSS variable-driven theming system. Context-aw
63
63
  ## 4. Component Stylings
64
64
 
65
65
  ### Buttons
66
- - Text: 16px BMWTypeNextLatin, weight 700 for primary, 400 for secondary
67
- - Line-height: 1.15–2.88 (large variation suggests padding-driven sizing)
68
- - Border: white bottom-border on dark surfaces (`1px solid #ffffff`)
69
- - No border-radius — sharp rectangular buttons
70
66
 
71
- ### Cards & Containers
72
- - No border-radius — all containers are sharp-cornered rectangles
73
- - White backgrounds on light sections
74
- - Dark backgrounds for hero/feature sections
75
- - No visible borders on most elements
67
+ **Primary**
68
+ - Background: transparent
69
+ - Text: `#ffffff`
70
+ - Border: 1px solid `#ffffff` (bottom-border on dark surfaces)
71
+ - Radius: 0px
72
+ - Padding: 12px 24px
73
+ - Font: 16px / 700 / BMWTypeNextLatin
74
+ - Hover: text remains white, no underline
75
+ - Use: Primary CTA on dark/hero surfaces
76
+
77
+ **Secondary**
78
+ - Background: transparent
79
+ - Text: `#262626`
80
+ - Border: 1px solid `#262626`
81
+ - Radius: 0px
82
+ - Padding: 12px 24px
83
+ - Font: 16px / 400 / BMWTypeNextLatin
84
+ - Use: Secondary actions on light surfaces
85
+
86
+ **Highlight**
87
+ - Background: `#1c69d4`
88
+ - Text: `#ffffff`
89
+ - Radius: 0px
90
+ - Padding: 12px 24px
91
+ - Font: 16px / 700 / BMWTypeNextLatin
92
+ - Hover: `#0653b6`
93
+ - Use: Inferred from §1-§2 baseline (no explicit DS variant in source) — BMW Blue highlight CTA
94
+
95
+ ### Inputs
96
+
97
+ **Default**
98
+ - Background: `#ffffff`
99
+ - Text: `#262626`
100
+ - Border: 1px solid `#262626`
101
+ - Radius: 0px
102
+ - Padding: 12px 16px
103
+ - Font: 16px / 400 / BMWTypeNextLatin
104
+ - Focus: border `#0653b6`
105
+ - Use: Inferred from §1-§2 baseline (no explicit DS variant in source).
106
+
107
+ ### Cards
108
+
109
+ **Standard**
110
+ - Background: `#ffffff`
111
+ - Radius: 0px
112
+ - Padding: 24px
113
+ - Border: none
114
+ - Use: Light-section content card — sharp rectangular, no border-radius (BMW's angular signature)
115
+
116
+ **Dark Hero Container**
117
+ - Background: `#262626` (or full-bleed photography)
118
+ - Text: `#ffffff`
119
+ - Radius: 0px
120
+ - Padding: 0px (edge-to-edge)
121
+ - Use: Hero/feature sections with full-bleed automotive photography
122
+
123
+ ### Badges
124
+
125
+ **Default**
126
+ - Background: `#262626`
127
+ - Text: `#ffffff`
128
+ - Radius: 0px
129
+ - Padding: 4px 8px
130
+ - Font: 12px / 700 / BMWTypeNextLatin
131
+ - Use: Inferred from §1-§2 baseline (no explicit DS variant in source).
76
132
 
77
133
  ### Navigation
78
134
  - BMWTypeNextLatin 18px weight 900 for primary nav links
@@ -178,3 +234,76 @@ What makes BMW distinctive is its CSS variable-driven theming system. Context-aw
178
234
  3. BMW Blue for interactive only — never as background or decoration
179
235
  4. Photography carries emotion — the UI is pure precision
180
236
  5. Tight line-heights everywhere — 1.15 to 1.30 is the range
237
+
238
+ ## 10. Voice & Tone
239
+
240
+ BMW's voice is **precision-engineered and luxury-confident.** "프리미엄 자동차와 혁신적인 기술" — luxury performance positioning. Sharp 3px radius + photography-driven hero signal "German engineering precision."
241
+
242
+ | Context | Tone |
243
+ |---|---|
244
+ | CTA | Verb-noun. "사전 예약하기", "더 알아보기", "구성하기" |
245
+ | Marketing | Photography dominant; copy supports image |
246
+ | Documentation | Technical specs (kW, km/h, 제로백) prominent |
247
+ | Error | Specific. "구성 옵션이 호환되지 않습니다." |
248
+
249
+ **Voice samples**
250
+ - Marketing CTAs: *"사전 예약하기"* / *"BMW AI 어시스턴트"* <!-- verified: bmw.co.kr 2026-05 -->
251
+
252
+ **Forbidden phrases.** "Revolutionary driving". Aggressive Mercedes-comparison framing.
253
+
254
+ ## 11. Brand Narrative
255
+
256
+ BMW (**Bayerische Motoren Werke**) was founded **March 7, 1916** in Munich, originally as **Bayerische Flugzeugwerke (BFW)** — formerly Otto Flugmaschinenfabrik — an aircraft engine manufacturer ([BMW — Wikipedia](https://en.wikipedia.org/wiki/BMW), [History of BMW — Wikipedia](https://en.wikipedia.org/wiki/History_of_BMW), [BMW Group History](https://www.bmwgroup.com/en/company/history.html)). The company traces its lineage to **Karl Rapp** and **Gustav Otto**; the moniker "BMW" first appeared in 1917 when Rapp Motorenwerke became BMW GmbH, then re-formalized as **Bayerische Motoren Werke in 1922**. The first product was the **BMW IIIa aircraft engine**, distinguished by fuel economy and high-altitude performance ([PBS](https://www.pbs.org/newshour/world/heres-what-bmw-did-before-it-made-luxury-cars)). The **Treaty of Versailles (1918) banned aircraft engine production**, forcing BMW to pivot to **farm equipment, household items, and railway brakes** to survive. Motorcycle production began **1923 (R32)**; automobile market entry **1928** (Dixi acquisition). Brand positioning: ***"Sheer Driving Pleasure"* / *"Freude am Fahren"***. The 2024-2025 evolution toward AI Assistant integration + EV (i-series, Neue Klasse) positions BMW for the post-internal-combustion era while preserving driving-pleasure identity. The roundel logo's **white + blue quarters represent the Bavarian flag**, not a spinning propeller — that myth has been explicitly debunked by BMW corporate communications.
257
+
258
+ ## 12. Principles
259
+
260
+ 1. **Photography is the design.** *UI implication:* hero modules dominated by car photography.
261
+ 2. **3px sharp radius.** *UI implication:* never round corners more — sharp signals German engineering.
262
+ 3. **BMW Blue `#1c69d4` for primary action.** *UI implication:* preserve corporate blue for CTAs.
263
+ 4. **Tight line-heights 1.15-1.30.** *UI implication:* don't open line-height; tight signals premium typography.
264
+ 5. **Photography emotion, UI precision.** *UI implication:* car photos can be cinematic; chrome stays restrained.
265
+
266
+ ## 13. Personas
267
+
268
+ *Personas are fictional archetypes informed by BMW user segments (premium auto buyers, EV early-adopters, fleet managers), not individual people.*
269
+
270
+ **Heinz Müller, 48, Munich.** BMW M-series enthusiast. Long-time customer.
271
+
272
+ **Sofia Park, 38, Seoul.** First BMW iX buyer, Korean market.
273
+
274
+ **Marcus Webb, 52, San Francisco.** Tech executive evaluating EV options. BMW i7 vs Tesla Model S comparison.
275
+
276
+ ## 14. States
277
+
278
+ | State | Treatment |
279
+ |---|---|
280
+ | **Empty (no configurations)** | "Configure your BMW" CTA + model selector |
281
+ | **Empty (no test drives)** | "Book a test drive" CTA |
282
+ | **Loading (configurator)** | Real-time 3D rendering progress |
283
+ | **Loading (price calc)** | Per-option price update |
284
+ | **Error (incompatible config)** | Specific. Constraint explanation |
285
+ | **Error (no inventory)** | "출고 대기 시간: N개월" with reservation CTA |
286
+ | **Success (saved config)** | Configuration ID + share link |
287
+ | **Success (test drive booked)** | Confirmation + dealer contact |
288
+ | **Skeleton (model list)** | 3px-radius placeholders |
289
+ | **Disabled (option locked)** | Tooltip with constraint reason |
290
+ | **Loading (long render)** | Persistent progress |
291
+
292
+ ## 15. Motion & Easing
293
+
294
+ | Token | Value | Use |
295
+ |---|---|---|
296
+ | `motion-instant` | 0ms | Selection |
297
+ | `motion-fast` | 150ms | Hover |
298
+ | `motion-standard` | 300ms | Modal, panel |
299
+ | `motion-config-transition` | 500ms | Configuration option transitions |
300
+
301
+ Standard cubic-bezier; minimal bounce — premium register. `prefers-reduced-motion: reduce` removes 3D rendering animations.
302
+
303
+ ---
304
+
305
+ **Verified:** 2026-05-08 (B9 loop)
306
+ **Tier 1 sources:** bmw.co.kr (live DOM via playwright — BMW Blue `#1c69d4` 3px / 4px / 52px / 14px·500; Light gray `#fff` ghost 3px; Round white icon button 50% / 52px)
307
+ **Tier 2 sources:** styles.refero.design / getdesign.md — no record.
308
+ **Tier 1 (Philosophy):** bmw.com homepage; BMW corporate history; "Sheer Driving Pleasure" tagline.
309
+ **Style ref:** `apple` (luxury minimal). **Conflicts unresolved:** none.
@@ -91,23 +91,104 @@ The elevation system is notably sophisticated for a minimal site — 11 shadow d
91
91
  ## 4. Component Stylings
92
92
 
93
93
  ### Buttons
94
- - **Dark Primary**: `#242424` (or `#1e1f23`) background, white text, 6–8px radius. Hover: opacity reduction to 0.7. The signature CTA — maximally dark on white
95
- - **White/Ghost**: White background with shadow-ring border, dark text. Uses the multi-layered shadow system for subtle elevation
96
- - **Pill**: 9999px radius for rounded pill-shaped actions and badges
97
- - **Compact**: 4px padding, small text — utility actions within product UI
98
- - **Inset highlight**: Some buttons feature `rgba(255, 255, 255, 0.15) 0px 2px 0px inset` — a subtle inner-top highlight creating a 3D pressed effect
99
-
100
- ### Cards & Containers
101
- - **Shadow Card**: White background, multi-layered shadow — `rgba(19, 19, 22, 0.7) 0px 1px 5px -4px, rgba(34, 42, 53, 0.08) 0px 0px 0px 1px, rgba(34, 42, 53, 0.05) 0px 4px 8px 0px`. The ring shadow (0px 0px 0px 1px) acts as a shadow-border
102
- - **Product UI Cards**: Screenshots of the scheduling interface displayed in card containers with shadow elevation
103
- - **Radius**: 8px for standard cards, 12px for larger containers, 16px for prominent sections
104
- - **Hover**: Likely subtle shadow deepening or scale transform
105
-
106
- ### Inputs & Forms
107
- - **Select dropdown**: White background, `#000000` text, 1px solid `rgb(118, 118, 118)` border
108
- - **Focus**: Uses Framer's focus outline system (`--framer-focus-outline`)
109
- - **Text input**: 8px radius, standard border treatment
110
- - **Minimal form presence**: The marketing site prioritizes CTA buttons over complex forms
94
+
95
+ **Dark Primary**
96
+ - Background: `#242424` (or `#1e1f23`)
97
+ - Text: `#ffffff`
98
+ - Radius: 8px
99
+ - Padding: 12px 20px
100
+ - Font: 16px / 600 / Inter
101
+ - Hover: opacity 0.7
102
+ - Use: Signature CTA maximally dark on white
103
+
104
+ **White / Ghost**
105
+ - Background: `#ffffff`
106
+ - Text: `#242424`
107
+ - Radius: 8px
108
+ - Padding: 12px 20px
109
+ - Shadow: `rgba(19, 19, 22, 0.7) 0px 1px 5px -4px, rgba(34, 42, 53, 0.08) 0px 0px 0px 1px, rgba(34, 42, 53, 0.05) 0px 4px 8px 0px`
110
+ - Font: 16px / 600 / Inter
111
+ - Use: Secondary CTA with shadow-ring border
112
+
113
+ **Pill**
114
+ - Background: `#242424`
115
+ - Text: `#ffffff`
116
+ - Radius: 9999px
117
+ - Padding: 8px 16px
118
+ - Use: Rounded pill-shaped actions and badges
119
+
120
+ **Compact**
121
+ - Background: `#242424`
122
+ - Text: `#ffffff`
123
+ - Radius: 6px
124
+ - Padding: 4px 8px
125
+ - Font: 14px / 600 / Inter
126
+ - Use: Utility actions within product UI
127
+
128
+ **Inset Highlight**
129
+ - Background: `#242424`
130
+ - Text: `#ffffff`
131
+ - Radius: 8px
132
+ - Shadow: `rgba(255, 255, 255, 0.15) 0px 2px 0px inset`
133
+ - Use: Subtle inner-top highlight creating a 3D pressed effect
134
+
135
+ ### Inputs
136
+
137
+ **Select / Dropdown**
138
+ - Background: `#ffffff`
139
+ - Text: `#000000`
140
+ - Border: 1px solid `rgb(118, 118, 118)`
141
+ - Radius: 8px
142
+ - Padding: 8px 12px
143
+ - Focus: `--framer-focus-outline`
144
+ - Use: Form select / dropdown
145
+
146
+ **Text Input**
147
+ - Background: `#ffffff`
148
+ - Text: `#242424`
149
+ - Border: 1px solid `rgb(118, 118, 118)`
150
+ - Radius: 8px
151
+ - Padding: 8px 12px
152
+ - Use: Standard text input (marketing site prioritizes CTAs over complex forms)
153
+
154
+ ### Cards
155
+
156
+ **Shadow Card**
157
+ - Background: `#ffffff`
158
+ - Radius: 8px
159
+ - Padding: 16px 24px
160
+ - Shadow: `rgba(19, 19, 22, 0.7) 0px 1px 5px -4px, rgba(34, 42, 53, 0.08) 0px 0px 0px 1px, rgba(34, 42, 53, 0.05) 0px 4px 8px 0px`
161
+ - Use: Standard card; ring shadow acts as shadow-border
162
+
163
+ **Large Container**
164
+ - Background: `#ffffff`
165
+ - Radius: 12px
166
+ - Padding: 24px
167
+ - Use: Larger containers
168
+
169
+ **Prominent Section**
170
+ - Background: `#ffffff`
171
+ - Radius: 16px
172
+ - Padding: 32px
173
+ - Use: Prominent feature sections
174
+
175
+ ### Badges
176
+
177
+ **Pill Badge**
178
+ - Background: `#242424`
179
+ - Text: `#ffffff`
180
+ - Radius: 9999px
181
+ - Padding: 4px 10px
182
+ - Font: 12px / 600 / Cal Sans
183
+ - Use: Pill-shaped badges and tags
184
+
185
+ **Default**
186
+ - Background: `#f5f5f5`
187
+ - Text: `#242424`
188
+ - Radius: 8px
189
+ - Padding: 4px 8px
190
+ - Font: 12px / 600 / Cal Sans
191
+ - Use: Inferred from §1-§2 baseline (no explicit DS variant in source).
111
192
 
112
193
  ### Navigation
113
194
  - **Top nav**: White/transparent background, Cal Sans links at near-black
@@ -257,3 +338,78 @@ When refining existing screens generated with this design system:
257
338
  3. Ensure card elevation uses the multi-layered shadow stack, not CSS borders
258
339
  4. Confirm section spacing is generous (80px+) — if sections feel cramped, add more space
259
340
  5. The overall tone should feel like a clean, professional scheduling tool — monochrome confidence without any decorative flourishes
341
+
342
+ ## 10. Voice & Tone
343
+
344
+ Cal.com's voice is **engineer-direct and developer-warm.** Marketing copy reads like documentation that happens to be on a marketing page — capability statements, no hype. Open-source-first positioning shapes the register: "the open source Calendly alternative" is the original tagline, and the voice still carries that "we built this because the proprietary one was bad" engineer credibility.
345
+
346
+ | Context | Tone |
347
+ |---|---|
348
+ | CTA | Verb-first. "Get started", "Book a demo", "Sign in with Google" |
349
+ | Empty (no bookings) | Quiet. "Your bookings will appear here." |
350
+ | Error | Specific + actionable. "Calendar permissions revoked. Reconnect Google Calendar." |
351
+ | Documentation | Imperative, code-block heavy |
352
+ | Marketing | Capability-list, monochrome typography |
353
+
354
+ **Voice samples**
355
+ - Marketing CTA: *"Get started"* <!-- verified: cal.com homepage 2026-05 -->
356
+
357
+ **Forbidden phrases.** "Revolutionary scheduling", "the future of calendars", emoji in chrome.
358
+
359
+ ## 11. Brand Narrative
360
+
361
+ Cal.com was founded **January 1, 2021** (initially as **Calendso**) by **Peer Richelsen** and **Bailey Pumfleet** — the latter only **18 years old at founding** ([GetLatka — 18-year-old raises $32M](https://blog.getlatka.com/18-year-old-raises-32m-to-build-opensource-version-of-calendly/), [Cal.com History](https://businessmodelcanvastemplate.com/blogs/brief-history/cal-com-brief-history)) — as the open-source alternative to Calendly. First version launched **April 30, 2021**, rose from **#1 Product of the Day → Week → Month on Product Hunt** ([Product Hunt Stories](https://www.producthunt.com/stories/how-this-open-source-calendly-alternative-rocketed-to-product-of-the-day)). The founding observation: scheduling tools had become essential infrastructure but the dominant player was closed-source. **AGPL-licensed + hosted SaaS.** Funding: **Seed $7.4M** (OSS Capital lead + Chad Hurley/YouTube co-founder + angels), **Series A $25M (May 2022)** (Seven Seven Six lead + Obvious Ventures), **$32M total** ([Startup Intros](https://startupintros.com/orgs/cal-com)). Cal.ai + Cal.et AI-driven scheduling shipped post-Series A.
362
+
363
+ What Cal.com refuses: lock-in pricing, opaque feature gating, lifestyle marketing imagery.
364
+
365
+ ## 12. Principles
366
+
367
+ 1. **Open by default.** Source, roadmap, pricing — all public. *UI implication:* "View source" / "Roadmap" links in footer.
368
+ 2. **Calendar over UI.** *UI implication:* booking page = mostly calendar widget, minimal nav.
369
+ 3. **Embed-first thinking.** *UI implication:* design tokens are CSS variables (overridable by host).
370
+ 4. **Monochrome confidence.** No accent color at all. *UI implication:* don't introduce a brand accent; calendar widget provides the only color.
371
+ 5. **Section spacing is the visual rhythm.** *UI implication:* never cramp; whitespace is the design.
372
+
373
+ ## 13. Personas
374
+
375
+ *Personas are fictional archetypes informed by Cal.com user segments (developers, sales teams, contractors), not individual people.*
376
+
377
+ **Henrik Sondergaard, 36, Copenhagen.** Engineering manager. Self-hosts Cal.com on team's infra.
378
+
379
+ **Priya Krishnan, 29, Bengaluru.** Independent consultant. Hosted plan, 4 meeting types.
380
+
381
+ **Marco Bianchi, 44, Milan.** Sales lead. Embeds Cal.com booking widgets in proposal docs. Cares about Salesforce integration.
382
+
383
+ ## 14. States
384
+
385
+ | State | Treatment |
386
+ |---|---|
387
+ | **Empty (no bookings)** | "Your bookings will appear here." Single line, centered, no illustration |
388
+ | **Empty (no event types)** | CTA "Create your first event type" + 3 starter templates |
389
+ | **Loading (calendar fetching)** | Skeleton calendar grid `#f5f5f5` blocks |
390
+ | **Loading (booking submitting)** | CTA inline spinner, button label "Booking..." |
391
+ | **Error (no available times)** | "No available times in next 30 days." |
392
+ | **Error (timezone)** | Banner top of page. "Times shown in your timezone (Asia/Seoul)" |
393
+ | **Success (booked)** | Full-page confirmation with calendar invite preview |
394
+ | **Success (rescheduled)** | Same pattern, copy adjusts |
395
+ | **Skeleton** | Vertical rows of `#f5f5f5` rectangles, exact dimensions |
396
+ | **Disabled (slot)** | 0.3 opacity, cursor-not-allowed, tooltip "Already booked" |
397
+ | **Loading (calendar sync)** | Inline chip in nav header |
398
+
399
+ ## 15. Motion & Easing
400
+
401
+ | Token | Value | Use |
402
+ |---|---|---|
403
+ | `motion-instant` | 0ms | Slot select |
404
+ | `motion-fast` | 150ms | Hover |
405
+ | `motion-standard` | 250ms | Modal, panel |
406
+
407
+ Standard cubic-bezier; no bounce. `prefers-reduced-motion: reduce` removes calendar grid fade-in.
408
+
409
+ ---
410
+
411
+ **Verified:** 2026-05-08 (B1 loop)
412
+ **Tier 1 sources:** cal.com (live DOM via playwright — Black `#000000` Primary 12px / 8×16 / 39px / 13.92px·500; Cream `#f3f2ed` Secondary)
413
+ **Tier 2 sources:** styles.refero.design / getdesign.md — no record.
414
+ **Tier 1 (Philosophy):** cal.com homepage; founders Peer Richelsen, Bailey Pumfleet; GitHub roadmap.
415
+ **Style ref:** `stripe`. **Conflicts unresolved:** none.
@@ -338,7 +338,9 @@ Anthropic speaks the way a thoughtful colleague does — informed, careful, and
338
338
 
339
339
  ## 11. Brand Narrative
340
340
 
341
- Anthropic was founded in 2021 by researchers who left OpenAI when the urgency of AI safety outpaced the field's willingness to prioritize it. The founding rejection was twofold: against the tech industry's default optimism that treats powerful systems as obvious goods, and against the cinematic AI aesthetic Terminator reds, cyberpunk neons, sterile clinical whitesthat equates "powerful" with "cold" or "threatening".
341
+ Anthropic was founded in **January 2021** in San Francisco by **Dario Amodei** (CEO, former VP of Research at OpenAI) and **Daniela Amodei** (President, former VP of Safety and Policy at OpenAI) — siblings — joined by **seven other OpenAI alumni** including **Tom Brown** (lead author of the GPT-3 paper), **Sam McCandlish** (Chief Architect), **Jared Kaplan** (Chief Science Officer), **Jack Clark** (former OpenAI Policy Director), **Christopher Olah** (Interpretability Research Lead), **Benjamin Mann** (Head of Anthropic Labs), and others ([Anthropic — Wikipedia](https://en.wikipedia.org/wiki/Anthropic), [Dario Amodei — Wikipedia](https://en.wikipedia.org/wiki/Dario_Amodei), [TIME 100 AI 2023](https://time.com/collections/time100-ai/6309047/daniela-and-dario-amodei/)). The founding split from OpenAI was driven by safety concerns. Per Dario Amodei (per [Big Technology profile](https://kantrowitz.medium.com/the-making-of-anthropic-ceo-dario-amodei-449777529dd6)): *"something in addition to just scaling the models up, which is alignment or safety"* was required. The signature technique **Constitutional AI** — trains the LLM to adhere to a set of explicit principles (the "constitution"), separating *"whether an AI can do something from the more politically fraught question of whether it should."* Claude product line: Claude 1 (March 2023) → Claude 2 → Claude 3 (March 2024) → Claude 3.5 Sonnet → Claude 4 family (2025) → Claude 4.7 currently. **Valuation ~$380B as of February 2026** ([Wikipedia: Anthropic](https://en.wikipedia.org/wiki/Anthropic)).
342
+
343
+ The founding rejection was twofold: against the tech industry's default optimism that treats powerful systems as obvious goods, and against the cinematic AI aesthetic — Terminator reds, cyberpunk neons, sterile clinical whites — that equates "powerful" with "cold" or "threatening". The founding rejection was twofold: against the tech industry's default optimism that treats powerful systems as obvious goods, and against the cinematic AI aesthetic — Terminator reds, cyberpunk neons, sterile clinical whites — that equates "powerful" with "cold" or "threatening".
342
344
 
343
345
  The warm visual language — parchment (`#f5f4ed`), terracotta (`#c96442`), olive grays, serif headlines — is a deliberate counter to that vocabulary. AI should feel like a trustworthy colleague, not a tool to be afraid of. Constitutional AI, the company's signature technique, treats alignment as engineering rather than philosophy; the brand extends that precision into every design decision.
344
346
 
@@ -453,3 +455,11 @@ to the cyberpunk AI aesthetic") are editorial readings of the design system,
453
455
  not documented Anthropic statements.
454
456
  -->
455
457
 
458
+ ---
459
+
460
+ **Verified:** 2026-05-08 (B11 loop)
461
+ **Tier 1 sources:** anthropic.com (live DOM via playwright — Skip-to-content `#faf9f5` 0/0/8/8 / 12px / 49px / 18px·600; Try Claude `#faf9f5` 8/0/0/8 ghost; warm cream canvas confirmed; Read the story 24px hover area)
462
+ **Tier 2 sources:** styles.refero.design / getdesign.md — no record.
463
+ **Tier 1 (Philosophy):** existing §10-15 retained; anthropic.com About; Claude Constitution; Anthropic publications.
464
+ **Style ref:** `claude` (self). **Conflicts unresolved:** none.
465
+
@@ -302,3 +302,78 @@ What makes Clay truly distinctive is its hover micro-animations: buttons on hove
302
302
  5. Hover animations are the signature — rotation + hard shadow, not subtle fades
303
303
  6. Generous radius: 24px cards, 40px sections — nothing looks sharp or corporate
304
304
  7. Three weights: 600 (headings), 500 (UI), 400 (body) — strict roles
305
+
306
+ ## 10. Voice & Tone
307
+
308
+ Clay's voice is **playfully irreverent + sales-team-fluent.** Marketing mixes GTM jargon ("outbound-sourced pipeline", "CRM enrichment") with disarming humor and motion (cards rotate on hover). The combination: "we know GTM is dry, we made the tool fun."
309
+
310
+ | Context | Tone |
311
+ |---|---|
312
+ | CTA | Direct verb. "Get started", "Book a demo", "Start building for free" |
313
+ | Marketing | Customer-quote-driven. "How Clay uses Clay" |
314
+ | Error | Specific. "LinkedIn rate limit hit. Resume in 4 hours or upgrade plan." |
315
+ | Documentation | Recipe-style, copy-paste examples |
316
+
317
+ **Voice samples**
318
+ - *"Start building for free"* <!-- verified: clay.com homepage 2026-05 -->
319
+ - *"How Clay uses Clay"* <!-- verified: clay.com case studies -->
320
+
321
+ **Forbidden phrases.** "AI-powered" without explanation. "10× your outbound" superlative. Aggressive sales pressure.
322
+
323
+ ## 11. Brand Narrative
324
+
325
+ Clay was founded in **2017** by **Kareem Amin** (CEO) in New York ([Sequoia — Partnering with Clay](https://sequoiacap.com/article/partnering-with-clay-on-a-mission-to-grow/), [Kareem Amin LinkedIn](https://www.linkedin.com/in/kareemamin)). **Varun Anand** joined as **co-founder + Head of Operations in 2021** ([Inside Clay's unconventional path to $1.25B — First Round Review podcast](https://review.firstround.com/podcast/inside-clays-unconventional-path-to-1-25b/)). Pivot from no-code-platform to **GTM-data-platform** around 2021 when sales/RevOps teams emerged as the actual customers — "Spreadsheet for outbound" → GTM-specific Airtable. Now: **10,000+ customers**, **150+ integrated data sources**. Funding: **Series B expansion $40M at $1.25B valuation**, then **Series C $100M led by CapitalG** (Alphabet's independent growth fund) on 2025-08-05 ([BusinessWire](https://www.businesswire.com/news/home/20250805719448/en/AI-GTM-Leader-Clay-Raises-$100M-Series-C-to-Fuel-GTM-Engineering-Roles-Industrywide)). Clay coined the **"GTM Engineering"** role category — published for it as a signature marketing position.
326
+
327
+ ## 12. Principles
328
+
329
+ 1. **Cells are the unit.** *UI implication:* table-first canvas, no tabs above data plane.
330
+ 2. **Recipe-style, not magic.** Workflows show every step + provider. *UI implication:* every step editable, never opaque.
331
+ 3. **Hover is the play.** Cards rotate, shadows pop. *UI implication:* generous hover transitions on cards (rotate ~3deg + hard shadow `4px 4px 0 #000`).
332
+ 4. **Customer voice over marketing voice.** *UI implication:* case studies first-class nav.
333
+ 5. **Three weights, strict roles.** *UI implication:* never introduce 700 or 300.
334
+
335
+ ## 13. Personas
336
+
337
+ *Personas are fictional archetypes informed by Clay user segments (RevOps, BDR managers, founders), not individual people.*
338
+
339
+ **Yusuf Khan, 32, NYC.** RevOps lead at B2B SaaS. 15 nightly enrichment workflows.
340
+
341
+ **Sarah Yoon, 27, San Francisco.** Founding BDR at Series A startup. Clay for list building + AI personalization.
342
+
343
+ **Olivia Bennett, 45, London.** Agency founder running outbound for 12 clients. Workflow templates across clients.
344
+
345
+ ## 14. States
346
+
347
+ | State | Treatment |
348
+ |---|---|
349
+ | **Empty (no workflows)** | Centered illustration + "Create your first workflow" CTA |
350
+ | **Empty (no data in table)** | Inline "+ Add a column" / "+ Add a row" with playful arrows |
351
+ | **Loading (enrichment)** | Per-cell spinner with elapsed time, cancellable |
352
+ | **Loading (workflow run)** | Top-bar progress with step count |
353
+ | **Error (provider failed)** | Cell shows red `#ef4444` border + tooltip with provider name |
354
+ | **Error (rate limit)** | Banner with countdown to next-allowed time + upgrade CTA |
355
+ | **Success (enrichment)** | Subtle green border pulse on cells, no toast |
356
+ | **Success (workflow ran)** | Notification chip top-right, dismissible |
357
+ | **Skeleton (table loading)** | Rotating skeleton cards (signature motion) |
358
+ | **Disabled (preview-only)** | 0.6 opacity + lock icon overlay |
359
+ | **Loading (AI generation)** | Per-row "AI is writing..." with cancel link |
360
+
361
+ ## 15. Motion & Easing
362
+
363
+ | Token | Value | Use |
364
+ |---|---|---|
365
+ | `motion-instant` | 0ms | Cell commit |
366
+ | `motion-fast` | 200ms | Hover (slower for rotation effect) |
367
+ | `motion-rotate` | 300ms | Card rotation on hover |
368
+ | `motion-shadow-snap` | 100ms | Hard shadow pop-in |
369
+ | `motion-standard` | 300ms | Modal, panel |
370
+
371
+ Easings: `ease-rotate cubic-bezier(0.4, 0, 0.2, 1)`, slight overshoot. **Hover rotation is the signature** — never disable except under `prefers-reduced-motion: reduce`.
372
+
373
+ ---
374
+
375
+ **Verified:** 2026-05-08 (B1 loop)
376
+ **Tier 1 sources:** clay.com (live DOM via playwright — Black `#000000` Primary 12px / 8×16 / 42px / 16px·500; content cards 16px radius)
377
+ **Tier 2 sources:** styles.refero.design / getdesign.md — no record.
378
+ **Tier 1 (Philosophy):** clay.com homepage; founder LinkedIn / podcast appearances.
379
+ **Style ref:** `stripe`. **Conflicts unresolved:** none.
@@ -279,3 +279,77 @@ What makes ClickHouse distinctive is the electrifying tension between the near-b
279
279
  4. Active states use Pale Yellow (#f4f692) — not just opacity changes
280
280
  5. All links hover to Neon Volt — consistent interactive feedback
281
281
  6. Charcoal borders (rgba(65,65,65,0.8)) are the primary depth mechanism
282
+
283
+ ## 10. Voice & Tone
284
+
285
+ ClickHouse's voice is **benchmark-driven and engineer-pragmatic.** Marketing emphasizes raw performance numbers ("100x faster", "petabyte-scale") and open-source heritage. Closer to research paper than marketing — measured claims with citations.
286
+
287
+ | Context | Tone |
288
+ |---|---|
289
+ | CTA | Verb. "Sign up", "Get a demo", "Start building" |
290
+ | Marketing | Numeric. Always lead with benchmark |
291
+ | Documentation | SQL-first, code-heavy, terse |
292
+ | Error (query) | SQL error + line number, never wrapped friendly |
293
+ | Onboarding | Choose: managed cloud / self-host / try in browser |
294
+
295
+ **Voice samples**
296
+ - *"Sign up"* / *"Get a demo"* <!-- verified: clickhouse.com homepage 2026-05 -->
297
+
298
+ **Forbidden phrases.** Adjectival superlatives without numbers. "Magic" / "AI-powered" framing.
299
+
300
+ ## 11. Brand Narrative
301
+
302
+ ClickHouse was originally developed at **Yandex** (Russia's largest tech company) starting in **2009** as an experimental real-time analytics project, with first production deployment in **2012** ([ClickHouse — Wikipedia](https://en.wikipedia.org/wiki/ClickHouse), [Introducing ClickHouse Inc. (2021 blog)](https://clickhouse.com/blog/introducing-click-house-inc)). Used internally for **Yandex.Metrica** (web analytics). **Open-sourced under Apache 2.0 in 2016** — adoption by Uber, Cloudflare, eBay quickly followed. **ClickHouse, Inc. incorporated September 2021** by **Aaron Katz (CEO)** and **Yury Izrailevsky** (co-founder). Funding: **Series A ~$50M (Sept 2021)** led by Index Ventures + Benchmark, with Yandex N.V. participating ([BusinessWire](https://www.businesswire.com/news/home/20210920005219/en/ClickHouse-Inc.-Announces-Incorporation-Along-With-%2450M-In-Series-A-Funding)); **Series B $250M @ $2B (Oct 28, 2021)** led by Coatue + Altimeter; **Series C $350M @ $6.35B (May 2025)** led by Khosla Ventures + BOND + IVP + Battery + Bessemer; **total raised >$650M** ([Forkable](https://www.forkable.io/p/open-source-database-company-clickhouse), [Index Ventures retrospective](https://www.indexventures.com/perspectives/the-fast-and-the-furious-how-clickhouse-the-worlds-fastest-open-source-database-is-creating-the-first-real-time-data-warehouse/)). Brand voice carries original Yandex engineering culture — performance-first, benchmark-cited, SQL-purist.
303
+
304
+ ## 12. Principles
305
+
306
+ 1. **Performance is the headline.** *UI implication:* hero modules contain a metric, not a tagline.
307
+ 2. **SQL is sacred.** *UI implication:* query interfaces accept standard SQL; extensions clearly labeled.
308
+ 3. **Open source is the default.** *UI implication:* "Self-host" and "Cloud" entry points equal prominence.
309
+ 4. **Charcoal borders, not shadows.** *UI implication:* never shadow on dark theme cards.
310
+ 5. **Pale yellow is the active state.** *UI implication:* selected = explicit yellow, not opacity.
311
+
312
+ ## 13. Personas
313
+
314
+ *Personas are fictional archetypes informed by ClickHouse user segments (data engineers, observability builders, analytics leads), not individual people.*
315
+
316
+ **Sergey Volkov, 38, Berlin.** Senior data engineer at ad-tech. Self-hosted on K8s for 50PB+.
317
+
318
+ **Aisha Patel, 31, San Francisco.** Founding engineer at observability startup using ClickHouse Cloud.
319
+
320
+ **Rui Chen, 45, Singapore.** Data platform lead at regional bank. Evaluating vs Snowflake.
321
+
322
+ ## 14. States
323
+
324
+ | State | Treatment |
325
+ |---|---|
326
+ | **Empty (no databases)** | "Create your first database" with SQL CREATE snippet |
327
+ | **Empty (query result)** | "0 rows returned in 12ms" — query-stat focused |
328
+ | **Loading (query)** | Inline spinner + estimated rows scanned |
329
+ | **Loading (table scan)** | Progress bar with rows/sec + bytes/sec |
330
+ | **Error (SQL syntax)** | Inline below editor with line:column |
331
+ | **Error (server)** | "Server error (200): table not found." |
332
+ | **Success (query)** | Result table appears, query stats line |
333
+ | **Success (cluster created)** | Connection string visible, copy-button |
334
+ | **Skeleton (cluster list)** | Charcoal-border placeholder rows |
335
+ | **Disabled (read-only role)** | 0.5 opacity + lock icon |
336
+ | **Loading (long query)** | Pause/cancel after 5s; partial results stream |
337
+
338
+ ## 15. Motion & Easing
339
+
340
+ | Token | Value | Use |
341
+ |---|---|---|
342
+ | `motion-instant` | 0ms | Result row select |
343
+ | `motion-fast` | 150ms | Hover, link to Neon Volt |
344
+ | `motion-standard` | 250ms | Modal |
345
+ | `motion-active-pulse` | 300ms | Pale yellow active appearance |
346
+
347
+ Standard cubic-bezier; no bounce. Charcoal borders never animate. `prefers-reduced-motion: reduce` makes link hover instant.
348
+
349
+ ---
350
+
351
+ **Verified:** 2026-05-08 (B1 loop)
352
+ **Tier 1 sources:** clickhouse.com (live DOM via playwright — dark `#141414` ghost; cookie banner `#166534` Allow / `#141414` Dismiss; nav 8px / 14px·500)
353
+ **Tier 2 sources:** styles.refero.design / getdesign.md — no record.
354
+ **Tier 1 (Philosophy):** clickhouse.com homepage benchmarks; ClickHouse, Inc. corporate history; Aaron Katz public talks.
355
+ **Style ref:** `stripe`. **Conflicts unresolved:** none.
@@ -264,3 +264,78 @@ Color is used with extreme restraint — the interface is almost entirely black-
264
264
  4. Interactive elements use Interaction Blue (#1863dc) on hover only
265
265
  5. Keep surfaces white with cool gray borders — no warm tones
266
266
  6. Purple is for full-width sections, never card backgrounds
267
+
268
+ ## 10. Voice & Tone
269
+
270
+ Cohere's voice is **enterprise-AI-careful** — formal but readable, security-aware, never breathless. Public messaging emphasizes "private, secure, customized" enterprise positioning over consumer-AI hype. Korean tagline ("개인, 보안, 맞춤형") tracks the same triple.
271
+
272
+ | Context | Tone |
273
+ |---|---|
274
+ | CTA | Verb-noun. "Request demo", "Talk to sales", "Start free" |
275
+ | Marketing | Enterprise-language. "Private, secure, customized" recurring triplet |
276
+ | Onboarding | Documentation-first; quickstart with API keys |
277
+ | Error | Formal. "Request denied: insufficient quota. Contact sales." |
278
+ | Compliance | Heavy SOC 2 / ISO references; trust pages prominent |
279
+
280
+ **Voice samples**
281
+ - *"엔터프라이즈 AI: 개인, 보안, 맞춤형"* <!-- verified: cohere.com/ko 2026-05 -->
282
+ - *"데모 요청"* / *"Request a demo"* <!-- verified: cohere.com -->
283
+
284
+ **Forbidden phrases.** "AGI", "superintelligence". Generic "AI revolution" framing. Casual emoji.
285
+
286
+ ## 11. Brand Narrative
287
+
288
+ Cohere was founded in **2019** in **Toronto, Canada** by **Aidan Gomez** (CEO), **Nick Frosst**, and **Ivan Zhang** ([Aidan Gomez — Wikipedia](https://en.wikipedia.org/wiki/Aidan_Gomez), [Cohere About](https://cohere.com/about)). **Aidan Gomez was 20 years old when he co-authored "Attention Is All You Need"** in 2017 as a Google Brain intern — the foundational Transformer architecture paper that every modern LLM descends from. Nick Frosst worked at **Google Brain Toronto** with **Geoffrey Hinton** (the "Godfather of AI", who later joined Cohere as advisor) ([Globe and Mail](https://www.theglobeandmail.com/business/article-toronto-ai-star-cohere-lands-tiger-led-125-million-venture-funding/)). The **first cheque came from Radical Ventures** (Toronto AI VC) ([U Toronto Centre for Entrepreneurship](https://www.entrepreneurship.artsci.utoronto.ca/news/how-cohere-ai-startup-co-founded-alumni-landed-170m-funding-year)). Cohere has raised **~US$1.6B at >$7B valuation** as of Sept 2025 ([Tracxn](https://tracxn.com/d/companies/cohere/__o4xfwmr3XwgsGEyH41XvwBm6Xd-SjsMlSld3d4ci6G0)) — Tiger Global led an earlier $125M round. Founding observation: enterprises needed customizable LLMs that respected data privacy. RAG-first, private deployment, on-prem available. **North** is Cohere's enterprise AI agent product.
289
+
290
+ ## 12. Principles
291
+
292
+ 1. **Privacy is the product, not a footnote.** *UI implication:* privacy guarantees first-class on landing pages.
293
+ 2. **RAG-first architecture.** *UI implication:* surfaces emphasize "your data + our models".
294
+ 3. **Enterprise doesn't mean stuffy.** *UI implication:* trust pages explain SOC 2 in plain English.
295
+ 4. **Interaction Blue on hover only.** *UI implication:* don't use brand blue for static CTAs.
296
+ 5. **Purple bands for sections, never cards.** *UI implication:* never apply purple to cards/buttons.
297
+
298
+ ## 13. Personas
299
+
300
+ *Personas are fictional archetypes informed by Cohere user segments (enterprise platform engineers, AI/ML platform leads, regulated-industry compliance), not individual people.*
301
+
302
+ **Catherine Liu, 42, Toronto.** Director of AI/ML at a Canadian bank. Cohere is the only LLM vendor approved by their CISO.
303
+
304
+ **Hiroshi Tanaka, 36, Tokyo.** Senior platform engineer at multinational logistics. Integrates Cohere Embed for 30+ language search.
305
+
306
+ **David Mensah, 50, Johannesburg.** Head of risk at insurance carrier. On-prem deployment required.
307
+
308
+ ## 14. States
309
+
310
+ | State | Treatment |
311
+ |---|---|
312
+ | **Empty (no API keys)** | "Generate your first API key" CTA + quickstart code |
313
+ | **Empty (no datasets)** | "Connect a data source" with provider grid |
314
+ | **Loading (model inference)** | Per-token streaming visible; never just spinner |
315
+ | **Loading (RAG retrieval)** | Two-phase: "Retrieving (12 docs)" → "Generating" |
316
+ | **Error (rate limit)** | "Tier-1 limit reached (60 req/min). Upgrade or wait." |
317
+ | **Error (auth)** | "API key expired. Generate a new key in Settings → API Keys." |
318
+ | **Success (deployment)** | Endpoint URL + credentials, security reminder |
319
+ | **Success (fine-tuned)** | Email + dashboard notification with eval metrics |
320
+ | **Skeleton (deployments)** | White rows with cool-gray border skeletons |
321
+ | **Disabled (no quota)** | 0.5 opacity + tooltip "Upgrade to enable" |
322
+ | **Loading (long fine-tune)** | Persistent progress with ETA |
323
+
324
+ ## 15. Motion & Easing
325
+
326
+ | Token | Value | Use |
327
+ |---|---|---|
328
+ | `motion-instant` | 0ms | Toggle |
329
+ | `motion-fast` | 150ms | Hover (Interaction Blue color shift) |
330
+ | `motion-standard` | 250ms | Modal, panel |
331
+ | `motion-streaming` | continuous | Token-by-token model output |
332
+
333
+ Standard cubic-bezier. **No bouncy springs** — enterprise register. `prefers-reduced-motion: reduce` removes hover transitions and panel slide-ins.
334
+
335
+ ---
336
+
337
+ **Verified:** 2026-05-08 (B1 loop)
338
+ **Tier 1 sources:** cohere.com/ko (live DOM via playwright — Dark `#17171c` Primary 9999px / 12×16-24 / 44-49px / 16px·400)
339
+ **Tier 2 sources:** styles.refero.design / getdesign.md — no record.
340
+ **Tier 1 (Philosophy):** cohere.com homepage; founder bios; Trust + Security pages.
341
+ **Style ref:** `stripe`. **Conflicts unresolved:** none.