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.
- package/README.ja.md +7 -7
- package/README.ko.md +7 -7
- package/README.md +15 -18
- package/README.zh-TW.md +7 -7
- package/agents/omd-ux-writer.md +1 -1
- package/data/architecture-proposals/2026-05-13-thin-install-fresh-fetch.md +189 -0
- package/data/reference-audits/2026-05-13-kr10.md +132 -0
- package/data/reference-fingerprints.json +626 -3
- package/data/reference-tags.md +15 -1
- package/package.json +2 -2
- package/skills/omd-apply/SKILL.md +1 -1
- package/skills/omd-harness/SKILL.md +3 -3
- package/skills/omd-init/SKILL.md +2 -2
- package/web/AGENTS.md +5 -0
- package/web/references/29cm/DESIGN.md +445 -0
- package/web/references/ably/DESIGN.md +582 -0
- package/{references → web/references}/airbnb/DESIGN.md +158 -19
- package/web/references/airtable/DESIGN.md +241 -0
- package/{references → web/references}/apple/DESIGN.md +131 -76
- package/web/references/baemin/DESIGN.md +470 -0
- package/web/references/banksalad/DESIGN.md +606 -0
- package/{references → web/references}/bmw/DESIGN.md +138 -9
- package/{references → web/references}/cal/DESIGN.md +173 -17
- package/{references → web/references}/claude/DESIGN.md +11 -1
- package/{references → web/references}/clay/DESIGN.md +75 -0
- package/{references → web/references}/clickhouse/DESIGN.md +74 -0
- package/{references → web/references}/cohere/DESIGN.md +75 -0
- package/web/references/coinbase/DESIGN.md +205 -0
- package/{references → web/references}/composio/DESIGN.md +74 -0
- package/web/references/coupang/DESIGN.md +487 -0
- package/{references → web/references}/cursor/DESIGN.md +74 -0
- package/web/references/dcard/DESIGN.md +567 -0
- package/{references → web/references}/elevenlabs/DESIGN.md +91 -0
- package/{references → web/references}/expo/DESIGN.md +72 -0
- package/{references → web/references}/ferrari/DESIGN.md +72 -0
- package/{references → web/references}/figma/DESIGN.md +124 -48
- package/{references → web/references}/framer/DESIGN.md +143 -16
- package/web/references/freee/DESIGN.md +558 -0
- package/web/references/gangnamunni/DESIGN.md +605 -0
- package/{references → web/references}/hashicorp/DESIGN.md +72 -0
- package/{references → web/references}/ibm/DESIGN.md +68 -0
- package/{references → web/references}/intercom/DESIGN.md +73 -0
- package/web/references/kakao/DESIGN.md +490 -0
- package/web/references/kakaobank/DESIGN.md +533 -0
- package/web/references/kakaopay/DESIGN.md +529 -0
- package/web/references/karrot/DESIGN.md +431 -0
- package/web/references/kraken/DESIGN.md +219 -0
- package/web/references/krds/DESIGN.md +982 -0
- package/web/references/kurly/DESIGN.md +574 -0
- package/{references → web/references}/lamborghini/DESIGN.md +74 -0
- package/{references → web/references}/line/DESIGN.md +84 -43
- package/{references → web/references}/linear.app/DESIGN.md +8 -1
- package/{references → web/references}/lovable/DESIGN.md +73 -0
- package/web/references/mercari/DESIGN.md +464 -0
- package/{references → web/references}/minimax/DESIGN.md +72 -0
- package/{references → web/references}/mintlify/DESIGN.md +72 -0
- package/web/references/miro/DESIGN.md +252 -0
- package/{references → web/references}/mistral.ai/DESIGN.md +72 -0
- package/{references → web/references}/mongodb/DESIGN.md +72 -0
- package/web/references/musinsa/DESIGN.md +536 -0
- package/web/references/naver/DESIGN.md +518 -0
- package/{references → web/references}/notion/DESIGN.md +9 -1
- package/web/references/nvidia/DESIGN.md +491 -0
- package/web/references/ohouse/DESIGN.md +570 -0
- package/{references → web/references}/ollama/DESIGN.md +72 -0
- package/{references → web/references}/opencode.ai/DESIGN.md +73 -0
- package/web/references/pinkoi/DESIGN.md +575 -0
- package/{references → web/references}/pinterest/DESIGN.md +73 -0
- package/{references → web/references}/posthog/DESIGN.md +172 -18
- package/web/references/qanda/DESIGN.md +459 -0
- package/{references → web/references}/raycast/DESIGN.md +169 -34
- package/web/references/remember/DESIGN.md +445 -0
- package/{references → web/references}/renault/DESIGN.md +72 -0
- package/{references → web/references}/replicate/DESIGN.md +73 -0
- package/{references → web/references}/resend/DESIGN.md +73 -0
- package/{references → web/references}/revolut/DESIGN.md +74 -0
- package/web/references/ridi/DESIGN.md +517 -0
- package/{references → web/references}/runwayml/DESIGN.md +152 -24
- package/{references → web/references}/sanity/DESIGN.md +72 -0
- package/{references → web/references}/sentry/DESIGN.md +73 -0
- package/web/references/socar/DESIGN.md +370 -0
- package/web/references/spacex/DESIGN.md +379 -0
- package/web/references/spotify/DESIGN.md +426 -0
- package/{references → web/references}/stripe/DESIGN.md +44 -1
- package/{references → web/references}/supabase/DESIGN.md +73 -0
- package/{references → web/references}/superhuman/DESIGN.md +159 -17
- package/{references → web/references}/tesla/DESIGN.md +170 -0
- package/{references → web/references}/together.ai/DESIGN.md +73 -0
- package/{references → web/references}/toss/DESIGN.md +304 -50
- package/{references → web/references}/uber/DESIGN.md +73 -0
- package/{references → web/references}/vercel/DESIGN.md +9 -1
- package/{references → web/references}/voltagent/DESIGN.md +73 -0
- package/web/references/wanted/DESIGN.md +515 -0
- package/{references → web/references}/warp/DESIGN.md +142 -15
- package/web/references/webflow/DESIGN.md +253 -0
- package/{references → web/references}/wise/DESIGN.md +84 -0
- package/{references → web/references}/x.ai/DESIGN.md +85 -0
- package/web/references/yanolja/DESIGN.md +448 -0
- package/web/references/yeogiotte/DESIGN.md +424 -0
- package/{references → web/references}/zapier/DESIGN.md +85 -0
- package/web/references/zigbang/DESIGN.md +457 -0
- package/web/references/zigzag/DESIGN.md +618 -0
- package/references/airtable/DESIGN.md +0 -107
- package/references/baemin/DESIGN.md +0 -260
- package/references/coinbase/DESIGN.md +0 -129
- package/references/dcard/DESIGN.md +0 -302
- package/references/freee/DESIGN.md +0 -308
- package/references/kakao/DESIGN.md +0 -261
- package/references/karrot/DESIGN.md +0 -252
- package/references/kraken/DESIGN.md +0 -146
- package/references/mercari/DESIGN.md +0 -294
- package/references/miro/DESIGN.md +0 -108
- package/references/nvidia/DESIGN.md +0 -308
- package/references/pinkoi/DESIGN.md +0 -309
- package/references/spacex/DESIGN.md +0 -205
- package/references/spotify/DESIGN.md +0 -246
- package/references/webflow/DESIGN.md +0 -109
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
# Design System Inspiration of Miro
|
|
2
|
+
|
|
3
|
+
## 1. Visual Theme & Atmosphere
|
|
4
|
+
|
|
5
|
+
Miro's website is a clean, collaborative-tool-forward platform that communicates "visual thinking" through generous whitespace, pastel accent colors, and a confident geometric font. The design uses a predominantly white canvas with near-black text (`#1c1c1e`) and a distinctive pastel color palette — coral, rose, teal, orange, yellow, moss — each representing different collaboration contexts.
|
|
6
|
+
|
|
7
|
+
The typography uses Roobert PRO Medium as the primary display font with OpenType character variants (`"blwf", "cv03", "cv04", "cv09", "cv11"`) and negative letter-spacing (-1.68px at 56px). Noto Sans handles body text with its own stylistic set (`"liga" 0, "ss01", "ss04", "ss05"`). The design is built with Framer, giving it smooth animations and modern component patterns.
|
|
8
|
+
|
|
9
|
+
**Key Characteristics:**
|
|
10
|
+
- White canvas with near-black (`#1c1c1e`) text
|
|
11
|
+
- Roobert PRO Medium with multiple OpenType character variants
|
|
12
|
+
- Pastel accent palette: coral, rose, teal, orange, yellow, moss (light + dark pairs)
|
|
13
|
+
- Blue 450 (`#5b76fe`) as primary interactive color
|
|
14
|
+
- Success green (`#00b473`) for positive states
|
|
15
|
+
- Generous border-radius: 8px–50px range
|
|
16
|
+
- Framer-built with smooth motion patterns
|
|
17
|
+
- Ring shadow border: `rgb(224,226,232) 0px 0px 0px 1px`
|
|
18
|
+
|
|
19
|
+
## 2. Color Palette & Roles
|
|
20
|
+
|
|
21
|
+
### Primary
|
|
22
|
+
- **Near Black** (`#1c1c1e`): Primary text
|
|
23
|
+
- **White** (`#ffffff`): `--tw-color-white`, primary surface
|
|
24
|
+
- **Blue 450** (`#5b76fe`): `--tw-color-blue-450`, primary interactive
|
|
25
|
+
- **Actionable Pressed** (`#2a41b6`): `--tw-color-actionable-pressed`
|
|
26
|
+
|
|
27
|
+
### Pastel Accents (Light/Dark pairs)
|
|
28
|
+
- **Coral**: Light `#ffc6c6` / Dark `#600000`
|
|
29
|
+
- **Rose**: Light `#ffd8f4` / Dark (implied)
|
|
30
|
+
- **Teal**: Light `#c3faf5` / Dark `#187574`
|
|
31
|
+
- **Orange**: Light `#ffe6cd`
|
|
32
|
+
- **Yellow**: Dark `#746019`
|
|
33
|
+
- **Moss**: Dark `#187574`
|
|
34
|
+
- **Pink** (`#fde0f0`): Soft pink surface
|
|
35
|
+
- **Red** (`#fbd4d4`): Light red surface
|
|
36
|
+
- **Dark Red** (`#e3c5c5`): Muted red
|
|
37
|
+
|
|
38
|
+
### Semantic
|
|
39
|
+
- **Success** (`#00b473`): `--tw-color-success-accent`
|
|
40
|
+
|
|
41
|
+
### Neutral
|
|
42
|
+
- **Slate** (`#555a6a`): Secondary text
|
|
43
|
+
- **Input Placeholder** (`#a5a8b5`): `--tw-color-input-placeholder`
|
|
44
|
+
- **Border** (`#c7cad5`): Button borders
|
|
45
|
+
- **Ring** (`rgb(224,226,232)`): Shadow-as-border
|
|
46
|
+
|
|
47
|
+
## 3. Typography Rules
|
|
48
|
+
|
|
49
|
+
### Font Families
|
|
50
|
+
- **Display**: `Roobert PRO Medium`, fallback: Placeholder — `"blwf", "cv03", "cv04", "cv09", "cv11"`
|
|
51
|
+
- **Display Variants**: `Roobert PRO SemiBold`, `Roobert PRO SemiBold Italic`, `Roobert PRO`
|
|
52
|
+
- **Body**: `Noto Sans` — `"liga" 0, "ss01", "ss04", "ss05"`
|
|
53
|
+
|
|
54
|
+
### Hierarchy
|
|
55
|
+
|
|
56
|
+
| Role | Font | Size | Weight | Line Height | Letter Spacing |
|
|
57
|
+
|------|------|------|--------|-------------|----------------|
|
|
58
|
+
| Display Hero | Roobert PRO Medium | 56px | 400 | 1.15 | -1.68px |
|
|
59
|
+
| Section Heading | Roobert PRO Medium | 48px | 400 | 1.15 | -1.44px |
|
|
60
|
+
| Card Title | Roobert PRO Medium | 24px | 400 | 1.15 | -0.72px |
|
|
61
|
+
| Sub-heading | Noto Sans | 22px | 400 | 1.35 | -0.44px |
|
|
62
|
+
| Feature | Roobert PRO Medium | 18px | 600 | 1.35 | normal |
|
|
63
|
+
| Body | Noto Sans | 18px | 400 | 1.45 | normal |
|
|
64
|
+
| Body Standard | Noto Sans | 16px | 400–600 | 1.50 | -0.16px |
|
|
65
|
+
| Button | Roobert PRO Medium | 17.5px | 700 | 1.29 | 0.175px |
|
|
66
|
+
| Caption | Roobert PRO Medium | 14px | 400 | 1.71 | normal |
|
|
67
|
+
| Small | Roobert PRO Medium | 12px | 400 | 1.15 | -0.36px |
|
|
68
|
+
| Micro Uppercase | Roobert PRO | 10.5px | 400 | 0.90 | uppercase |
|
|
69
|
+
|
|
70
|
+
## 4. Component Stylings
|
|
71
|
+
|
|
72
|
+
### Buttons
|
|
73
|
+
|
|
74
|
+
**Blue Primary**
|
|
75
|
+
- Background: `#5b76fe` (`--tw-color-blue-450`)
|
|
76
|
+
- Text: `#ffffff`
|
|
77
|
+
- Radius: 8px
|
|
78
|
+
- Padding: 7px 12px
|
|
79
|
+
- Font: 17.5px / 700 / Roobert PRO Medium
|
|
80
|
+
- Hover: `#2a41b6` (`--tw-color-actionable-pressed`)
|
|
81
|
+
- Use: Primary CTA — implied from interactive blue
|
|
82
|
+
|
|
83
|
+
**Outlined**
|
|
84
|
+
- Background: transparent
|
|
85
|
+
- Text: `#1c1c1e`
|
|
86
|
+
- Border: 1px solid `#c7cad5`
|
|
87
|
+
- Radius: 8px
|
|
88
|
+
- Padding: 7px 12px
|
|
89
|
+
- Font: 17.5px / 700 / Roobert PRO Medium
|
|
90
|
+
- Use: Secondary outlined button
|
|
91
|
+
|
|
92
|
+
**White Circle**
|
|
93
|
+
- Background: `#ffffff`
|
|
94
|
+
- Radius: 50%
|
|
95
|
+
- Padding: 12px (icon button)
|
|
96
|
+
- Shadow: `rgb(224,226,232) 0px 0px 0px 1px` (ring shadow)
|
|
97
|
+
- Use: Circular icon button
|
|
98
|
+
|
|
99
|
+
### Inputs
|
|
100
|
+
|
|
101
|
+
**Default**
|
|
102
|
+
- Background: `#ffffff`
|
|
103
|
+
- Text: `#1c1c1e`
|
|
104
|
+
- Border: 1px solid `#e9eaef`
|
|
105
|
+
- Radius: 8px
|
|
106
|
+
- Padding: 16px
|
|
107
|
+
- Font: 16px / 400 / Noto Sans
|
|
108
|
+
- Placeholder: `#a5a8b5` (`--tw-color-input-placeholder`)
|
|
109
|
+
- Use: Standard input
|
|
110
|
+
|
|
111
|
+
### Cards
|
|
112
|
+
|
|
113
|
+
**Standard**
|
|
114
|
+
- Background: `#ffffff`
|
|
115
|
+
- Radius: 12px
|
|
116
|
+
- Padding: 16px
|
|
117
|
+
- Shadow: `rgb(224,226,232) 0px 0px 0px 1px` (ring shadow)
|
|
118
|
+
- Use: Default card with ring-shadow border
|
|
119
|
+
|
|
120
|
+
**Pastel Surface**
|
|
121
|
+
- Background: pastel accent (e.g., `#ffc6c6` Coral, `#c3faf5` Teal, `#ffe6cd` Orange, `#fde0f0` Pink)
|
|
122
|
+
- Text: `#1c1c1e`
|
|
123
|
+
- Radius: 12-24px
|
|
124
|
+
- Padding: 24px
|
|
125
|
+
- Use: Feature card with pastel surface
|
|
126
|
+
|
|
127
|
+
**Large Panel**
|
|
128
|
+
- Background: `#ffffff`
|
|
129
|
+
- Radius: 24px
|
|
130
|
+
- Padding: 32px
|
|
131
|
+
- Shadow: `rgb(224,226,232) 0px 0px 0px 1px`
|
|
132
|
+
- Use: Large containers
|
|
133
|
+
|
|
134
|
+
### Badges
|
|
135
|
+
|
|
136
|
+
**Default**
|
|
137
|
+
- Background: `#5b76fe`
|
|
138
|
+
- Text: `#ffffff`
|
|
139
|
+
- Radius: 8px
|
|
140
|
+
- Padding: 4px 8px
|
|
141
|
+
- Font: 12px / 400 / Roobert PRO Medium
|
|
142
|
+
- Use: Inferred from §1-§2 baseline (no explicit DS variant in source).
|
|
143
|
+
|
|
144
|
+
**Success**
|
|
145
|
+
- Background: `#00b473` (`--tw-color-success-accent`)
|
|
146
|
+
- Text: `#ffffff`
|
|
147
|
+
- Radius: 8px
|
|
148
|
+
- Padding: 4px 8px
|
|
149
|
+
- Use: Inferred from §1-§2 baseline (no explicit DS variant in source).
|
|
150
|
+
|
|
151
|
+
## 5. Layout Principles
|
|
152
|
+
- Spacing: 1–24px base scale
|
|
153
|
+
- Radius: 8px (buttons), 10px–12px (cards), 20px–24px (panels), 40px–50px (large containers)
|
|
154
|
+
- Ring shadow: `rgb(224,226,232) 0px 0px 0px 1px`
|
|
155
|
+
|
|
156
|
+
## 6. Depth & Elevation
|
|
157
|
+
Minimal — ring shadow + pastel surface contrast
|
|
158
|
+
|
|
159
|
+
## 7. Do's and Don'ts
|
|
160
|
+
### Do
|
|
161
|
+
- Use pastel light/dark pairs for feature sections
|
|
162
|
+
- Apply Roobert PRO with OpenType character variants
|
|
163
|
+
- Use Blue 450 (#5b76fe) for interactive elements
|
|
164
|
+
### Don't
|
|
165
|
+
- Don't use heavy shadows
|
|
166
|
+
- Don't mix more than 2 pastel accents per section
|
|
167
|
+
|
|
168
|
+
## 8. Responsive Behavior
|
|
169
|
+
Breakpoints: 425px, 576px, 768px, 896px, 1024px, 1200px, 1280px, 1366px, 1700px, 1920px
|
|
170
|
+
|
|
171
|
+
## 9. Agent Prompt Guide
|
|
172
|
+
### Quick Color Reference
|
|
173
|
+
- Text: Near Black (`#1c1c1e`)
|
|
174
|
+
- Background: White (`#ffffff`)
|
|
175
|
+
- Interactive: Blue 450 (`#5b76fe`)
|
|
176
|
+
- Success: `#00b473`
|
|
177
|
+
- Border: `#c7cad5`
|
|
178
|
+
### Example Component Prompts
|
|
179
|
+
- "Create hero: white background. Roobert PRO Medium 56px, line-height 1.15, letter-spacing -1.68px. Blue CTA (#5b76fe). Outlined secondary (1px solid #c7cad5, 8px radius)."
|
|
180
|
+
|
|
181
|
+
## 10. Voice & Tone
|
|
182
|
+
|
|
183
|
+
Miro's voice is **collaboration-warm and workshop-confident.** "AI 이노베이션 워크스페이스" (homepage 2026-05) — brand evolution from "online whiteboard" to "AI innovation workspace". Marketing copy emphasizes team workshops + collaborative moments. Yellow `#fde050` CTA signals "playful, sticky-note inspired."
|
|
184
|
+
|
|
185
|
+
| Context | Tone |
|
|
186
|
+
|---|---|
|
|
187
|
+
| CTA | Verb. "Sign up free", "Save your spot", "Start free" |
|
|
188
|
+
| Marketing | Workshop-language. Customer co-creation moments |
|
|
189
|
+
| Documentation | Visual-heavy, screenshot-driven |
|
|
190
|
+
| Error | Specific. "Board permissions changed. Refresh to see updates." |
|
|
191
|
+
|
|
192
|
+
**Voice samples**
|
|
193
|
+
- Marketing CTA: *"SAVE YOUR SPOT"* <!-- verified: miro.com/ko homepage 2026-05 -->
|
|
194
|
+
|
|
195
|
+
**Forbidden phrases.** "Revolutionary whiteboard". Aggressive Mural-comparison framing.
|
|
196
|
+
|
|
197
|
+
## 11. Brand Narrative
|
|
198
|
+
|
|
199
|
+
Miro was founded **2011 as RealtimeBoard** in **Perm, Russia** (~1,150 km east of Moscow) by **Andrey Khusid** and **Oleg Shardin** ([Miro — Wikipedia](https://en.wikipedia.org/wiki/Miro_(collaboration_platform)), [bne IntelliNews — Miro $17.5B](https://www.intellinews.com/founded-in-russia-11-years-ago-the-miro-visual-collaboration-software-startup-is-now-valued-at-17-5bn-231861/)). Khusid + Shardin had previously **founded the design agency Vitamin Group in 2005** offering web/product/app design services; **2012 they left Vitamin to focus on RealtimeBoard full-time**. Funding ladder: **$25M Series A (2018)** led by **Accel** with Altair Capital + Scale Venture Partners → **$50M Series B (April 2020)**, after which user base grew **5×** (5M → 30M) and paying customers **5.5×** (20K → 130K) → **$400M Series C (January 2022)** co-led by **ICONIQ Growth + Accel + Atlassian + Dragoneer + GIC + Scale Venture Partners** at **$17.5B post-money valuation**, total funding ~**$476M** ([Miro Newsroom — $400M Series C](https://miro.com/newsroom/miro-series-c/), [BusinessWire — Series B $50M April 2020](https://www.businesswire.com/news/home/20200427005109/en/Miro-Secures-%2450-Million-in-Series-B-Funding-for-Virtual-Whiteboarding-for-Remote-Teams)). **Rebranded RealtimeBoard → Miro in 2019** reflecting a global identity. Strong adoption in design teams, agile workshops, and consulting. AI features added 2024-2025 to position Miro as the **"AI innovation workspace"** (live `miro.com/ko` page-title confirms 2026-05).
|
|
200
|
+
|
|
201
|
+
## 12. Principles
|
|
202
|
+
|
|
203
|
+
1. **Yellow signals action.** `#fde050` CTA inherited from sticky-note culture. *UI implication:* primary actions yellow on white.
|
|
204
|
+
2. **Roobert PRO is the type voice.** Medium weight throughout. *UI implication:* don't substitute system fonts.
|
|
205
|
+
3. **Workshop > toolbox.** *UI implication:* product positioning treats Miro as a meeting/workshop space, not a static design tool.
|
|
206
|
+
4. **Generous radius for warmth.** *UI implication:* 8px+ on cards, 16px+ on hero modules.
|
|
207
|
+
5. **AI as workshop participant.** *UI implication:* AI features framed as joining the workshop, not replacing humans.
|
|
208
|
+
|
|
209
|
+
## 13. Personas
|
|
210
|
+
|
|
211
|
+
*Personas are fictional archetypes informed by Miro user segments (UX designers, agile coaches, consulting partners), not individual people.*
|
|
212
|
+
|
|
213
|
+
**Yuki Tanaka, 32, Tokyo.** UX designer at agency. Runs client workshops in Miro 3× per week.
|
|
214
|
+
|
|
215
|
+
**Marcus Chen, 41, San Francisco.** Agile coach at Series C SaaS. Sprint planning + retros in Miro.
|
|
216
|
+
|
|
217
|
+
**Sofia Russo, 36, Milan.** Independent design consultant. Miro for client research + brainstorming.
|
|
218
|
+
|
|
219
|
+
## 14. States
|
|
220
|
+
|
|
221
|
+
| State | Treatment |
|
|
222
|
+
|---|---|
|
|
223
|
+
| **Empty (no boards)** | "Create your first board" CTA + template gallery |
|
|
224
|
+
| **Empty (no team)** | "Invite teammates" with email picker |
|
|
225
|
+
| **Loading (board opening)** | Skeleton with sticky-note placeholders |
|
|
226
|
+
| **Loading (cursor sync)** | Cursor avatars appear with name labels |
|
|
227
|
+
| **Error (sync)** | Banner + retry; never block editing |
|
|
228
|
+
| **Error (permission)** | "Read-only — request edit access" inline link |
|
|
229
|
+
| **Success (saved)** | Implicit; auto-save with subtle indicator |
|
|
230
|
+
| **Success (export)** | Download triggered + toast confirmation |
|
|
231
|
+
| **Skeleton (board grid)** | Yellow-tinted placeholders |
|
|
232
|
+
| **Disabled (free plan limit)** | Upgrade link |
|
|
233
|
+
| **Loading (long export)** | Persistent progress chip |
|
|
234
|
+
|
|
235
|
+
## 15. Motion & Easing
|
|
236
|
+
|
|
237
|
+
| Token | Value | Use |
|
|
238
|
+
|---|---|---|
|
|
239
|
+
| `motion-instant` | 0ms | Selection |
|
|
240
|
+
| `motion-fast` | 150ms | Hover |
|
|
241
|
+
| `motion-standard` | 250ms | Modal, panel |
|
|
242
|
+
| `motion-cursor` | continuous | Live cursor sync |
|
|
243
|
+
|
|
244
|
+
Standard cubic-bezier; minimal bounce. Cursor sync motion is signature. `prefers-reduced-motion: reduce` removes hover transitions; cursor sync becomes step-discrete.
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
**Verified:** 2026-05-08 (omd:migrate run 38 — Apple-tier)
|
|
249
|
+
**Tier 1 sources:** miro.com/ko home + /pricing (live DOM via playwright — **three-color 8px Primary**: Yellow banner `#fde050` 40px / 16px·**900** ALL CAPS (banner-only) + Charcoal `#1c1c1e` 42-44px / 16px·**600** (canonical default) + Miro Blue `#3859ff` 48px / 18px·600 (featured-tier accent); Outline transparent / Charcoal text).
|
|
250
|
+
**Tier 2 sources:** styles.refero.design / getdesign.md — no record.
|
|
251
|
+
**Tier 2 (Philosophy/founders/funding):** Wikipedia (Miro), bne IntelliNews ($17.5B), Crunchbase, Miro Newsroom (Series C $400M Jan 2022), BusinessWire (Series B $50M Apr 2020), Contrary Research, EWDN.
|
|
252
|
+
**Style ref:** `notion`. **Conflicts unresolved:** none. **Earlier mistake reverted:** prior footer captured Yellow banner only; canonical default Primary is **Charcoal `#1c1c1e`** with Miro Blue `#3859ff` featured-tier accent — three-color discipline was undocumented.
|
|
@@ -259,3 +259,75 @@ What makes Mistral distinctive is the complete commitment to a warm color temper
|
|
|
259
259
|
3. Never add border-radius — sharp corners only
|
|
260
260
|
4. Shadows are always warm: "golden shadow with amber tones"
|
|
261
261
|
5. Font weight is always 400 — describe emphasis through size and color
|
|
262
|
+
|
|
263
|
+
## 10. Voice & Tone
|
|
264
|
+
|
|
265
|
+
Mistral AI's voice is **European frontier-AI-confident** — measured, research-oriented, never breathless. The brand positions itself as the European alternative to American AI labs (OpenAI, Anthropic), with a focus on open-weights models and enterprise sovereignty. Copy stays restrained even when announcing major model releases.
|
|
266
|
+
|
|
267
|
+
| Context | Tone |
|
|
268
|
+
|---|---|
|
|
269
|
+
| CTA | Verb. "Discover Le Chat", "Discover Vibe", "Contact Sales" |
|
|
270
|
+
| Marketing | Product-named (Le Chat is the consumer product). European register |
|
|
271
|
+
| Documentation | Code-first, model-spec heavy |
|
|
272
|
+
| Error | Specific. Never wrapped in apology |
|
|
273
|
+
|
|
274
|
+
**Voice samples**
|
|
275
|
+
- Product CTAs: *"Discover Le Chat"*, *"Discover Vibe"* <!-- verified: mistral.ai homepage 2026-05 -->
|
|
276
|
+
|
|
277
|
+
**Forbidden phrases.** "AGI", "superintelligence". Casual emoji.
|
|
278
|
+
|
|
279
|
+
## 11. Brand Narrative
|
|
280
|
+
|
|
281
|
+
Mistral AI was founded **April 2023** in **Paris** by **Arthur Mensch (CEO, former Google DeepMind)**, **Guillaume Lample (former Meta AI)**, and **Timothée Lacroix (former Meta AI)** — the trio first met **as students at École Polytechnique** ([Mistral AI — Wikipedia](https://en.wikipedia.org/wiki/Mistral_AI), [École polytechnique — Mistral AI raised €500M in 2023](https://www.polytechnique.edu/en/news/mistral-ai-french-ai-nugget-co-founded-two-x-alumni-raised-eu500-mlns-2023)). The founding observation: Europe needed a sovereign AI option that didn't depend on American hyperscalers. Funding ladder: **€105M ($117M) seed (June 2023)** with **Lightspeed Venture Partners, Eric Schmidt, Xavier Niel, JCDecaux** → **€385M ($428M) Series A (Dec 10 2023)** with **Andreessen Horowitz, BNP Paribas, Salesforce** → continuing rounds bringing **valuation past $14B** as of 2025 ([Arthur Mensch — Wikipedia](https://en.wikipedia.org/wiki/Arthur_Mensch), [Tracxn — Mistral AI](https://tracxn.com/d/companies/mistralai/__SLZq7rzxLYqqA97jtPwO09jLDeb76RVJVb306OhciWU)). The three founders became **France's first AI billionaires** ([Crain Currency — first AI billionaires France](https://www.craincurrency.com/investing/mistrals-3-founders-timothee-lacroix-arthur-mensch-and-guillaume-lample-become-first-ai), [Bloomberg Law — first AI billionaires](https://news.bloomberglaw.com/private-equity/first-ai-billionaires-emerge-from-french-homegrown-startup)). Quickly became one of Europe's most-funded AI startups, with strong **open-weights model releases (Mistral 7B, Mixtral 8x7B)** alongside enterprise-only frontier models. The 0px-radius aesthetic + warm golden shadows reflect the Parisian design sensibility — sharp corners signal "frontier research", warm shadows signal "European craftsmanship".
|
|
282
|
+
|
|
283
|
+
## 12. Principles
|
|
284
|
+
|
|
285
|
+
1. **0px radius is intentional.** Sharp corners signal frontier research. *UI implication:* never round corners on Mistral chrome.
|
|
286
|
+
2. **Warm golden shadows.** *UI implication:* shadows always warm-toned; never cool-blue.
|
|
287
|
+
3. **Weight 400 throughout.** *UI implication:* emphasis via size + color, not weight.
|
|
288
|
+
4. **European register.** *UI implication:* avoid American startup hype; confident but understated.
|
|
289
|
+
5. **Open-weights ↔ Enterprise tension.** *UI implication:* both audiences served — open-source community + enterprise.
|
|
290
|
+
|
|
291
|
+
## 13. Personas
|
|
292
|
+
|
|
293
|
+
*Personas are fictional archetypes informed by Mistral user segments (European enterprise architects, ML researchers, sovereignty-conscious infrastructure leads), not individual people.*
|
|
294
|
+
|
|
295
|
+
**Catherine Dubois, 44, Paris.** CTO at French enterprise. Mistral as the sovereign AI option her board approved.
|
|
296
|
+
|
|
297
|
+
**Heinz Müller, 38, Berlin.** ML researcher. Uses open-weights Mistral models for fine-tuning experiments.
|
|
298
|
+
|
|
299
|
+
**Aisha Khan, 32, Dubai.** AI infrastructure lead. Evaluating Mistral vs OpenAI for region-specific deployment.
|
|
300
|
+
|
|
301
|
+
## 14. States
|
|
302
|
+
|
|
303
|
+
| State | Treatment |
|
|
304
|
+
|---|---|
|
|
305
|
+
| **Empty (no API keys)** | "Generate first API key" CTA |
|
|
306
|
+
| **Empty (no projects)** | "Try Le Chat" link |
|
|
307
|
+
| **Loading (model inference)** | Per-token streaming |
|
|
308
|
+
| **Error (model unavailable)** | Specific model name + region |
|
|
309
|
+
| **Error (rate limit)** | Tier limit + upgrade |
|
|
310
|
+
| **Success (generation)** | Result inline + copy/save |
|
|
311
|
+
| **Success (deployment)** | Endpoint visible |
|
|
312
|
+
| **Skeleton (deployments)** | 0px-radius placeholders |
|
|
313
|
+
| **Disabled (insufficient plan)** | Upgrade link |
|
|
314
|
+
| **Loading (long task)** | Persistent progress |
|
|
315
|
+
| **Loading (model loading)** | Initialization status |
|
|
316
|
+
|
|
317
|
+
## 15. Motion & Easing
|
|
318
|
+
|
|
319
|
+
| Token | Value | Use |
|
|
320
|
+
|---|---|---|
|
|
321
|
+
| `motion-instant` | 0ms | Toggle |
|
|
322
|
+
| `motion-fast` | 150ms | Hover |
|
|
323
|
+
| `motion-standard` | 250ms | Modal |
|
|
324
|
+
|
|
325
|
+
Standard cubic-bezier; no bounce — the precision register dislikes overshoot. `prefers-reduced-motion: reduce` removes hover transitions.
|
|
326
|
+
|
|
327
|
+
---
|
|
328
|
+
|
|
329
|
+
**Verified:** 2026-05-08 (omd:migrate run 39 — Apple-tier)
|
|
330
|
+
**Tier 1 sources:** mistral.ai home + /products (live DOM via playwright — Primary `#1f1f1f` Mistral Charcoal 0px sharp / 36px / 12px-square / 16px·400; **Secondary canvas-aware `oklab()`**: `oklab(0.999994 / 0.1)` (dark canvas) + `oklab(0.955114 -0.00188443 0.0614298 / 0.5)` Cream (light canvas); Cream `#fff0c2` accent. **`oklab()` color-space canonical** — most modern DS adopter in corpus).
|
|
331
|
+
**Tier 2 sources:** styles.refero.design / getdesign.md — no record.
|
|
332
|
+
**Tier 2 (Philosophy/founders/funding):** Wikipedia (Mistral AI + Arthur Mensch), École polytechnique (X alumni origin), Crain Currency / Bloomberg Law (first AI billionaires France), Tracxn, Crunchbase.
|
|
333
|
+
**Style ref:** `claude` (research-tech precision). **Conflicts unresolved:** none. **Earlier addition:** canvas-aware `oklab()` Secondary variants + Cream `#fff0c2` accent + oklab() canonical convention missed by prior pass.
|
|
@@ -264,3 +264,75 @@ What makes MongoDB distinctive is its dual-mode design: a dark hero/feature sect
|
|
|
264
264
|
4. Weight 300 body text creates the airy reading experience — don't default to 400
|
|
265
265
|
5. Source Code Pro uppercase with wide tracking for technical labels — the database voice
|
|
266
266
|
6. Teal-tinted shadows keep everything in the MongoDB color world
|
|
267
|
+
|
|
268
|
+
## 10. Voice & Tone
|
|
269
|
+
|
|
270
|
+
MongoDB's voice is **enterprise-database-precise and developer-aware.** "The World's Leading Modern Data Platform" — confident enterprise positioning. Source Code Pro uppercase labels signal "database voice" — wide tracking, monospace authority.
|
|
271
|
+
|
|
272
|
+
| Context | Tone |
|
|
273
|
+
|---|---|
|
|
274
|
+
| CTA | Verb. "Try free", "Get started", "Talk to sales" |
|
|
275
|
+
| Marketing | Enterprise-data-platform language. Atlas (cloud) is first-class brand |
|
|
276
|
+
| Documentation | Code-first, query-heavy |
|
|
277
|
+
| Error | Specific. "Invalid ObjectId. Check format: 24-char hex." |
|
|
278
|
+
|
|
279
|
+
**Voice samples**
|
|
280
|
+
- Tagline: *"The World's Leading Modern Data Platform"* <!-- verified: mongodb.com homepage 2026-05 -->
|
|
281
|
+
|
|
282
|
+
**Forbidden phrases.** "Revolutionary database". Generic NoSQL marketing.
|
|
283
|
+
|
|
284
|
+
## 11. Brand Narrative
|
|
285
|
+
|
|
286
|
+
MongoDB was founded **2007 in New York City as 10gen** by **Dwight Merriman (former DoubleClick founder + CTO)**, **Eliot Horowitz (former DoubleClick engineer + ShopWiki CTO)**, and **Kevin P. Ryan (former DoubleClick CEO + Gilt Groupe founder)** — DoubleClick veterans who learned the limits of relational databases when scaling to **400,000+ ads/sec** ([MongoDB Inc. — Wikipedia](https://en.wikipedia.org/wiki/MongoDB_Inc.), [Eliot Horowitz — Wikipedia](https://en.wikipedia.org/wiki/Eliot_Horowitz)). 10gen originally aimed to build a PaaS on entirely open-source components but, finding no existing database that met their cloud-architecture principles, instead built the **document-oriented MongoDB**. **First public release 2009**. **Renamed 10gen → MongoDB Inc. on August 27 2013**. By 2017, MongoDB had raised **$311M in venture funding**. **NASDAQ IPO October 20 2017** under ticker **MDB**, raising **$192M** ([MongoDB — About](https://www.mongodb.com/company)). **Atlas (managed cloud) launched 2016**; by 2024-2025 Atlas accounts for **>70% of revenue** and the company's **market cap ranges $22B-$26B**. The brand voice — Spring Green CTAs `#00ed64` on Navy `#001e2b`, teal-tinted shadows, uppercase Source Code Pro labels — reflects the database-engineering register.
|
|
287
|
+
|
|
288
|
+
## 12. Principles
|
|
289
|
+
|
|
290
|
+
1. **Atlas is the cloud product.** *UI implication:* Atlas distinct from on-prem MongoDB in marketing nav.
|
|
291
|
+
2. **Green primary `#00684a`.** *UI implication:* dark green as auth, never bright lime.
|
|
292
|
+
3. **Source Code Pro for technical labels.** Uppercase + wide tracking. *UI implication:* preserve this for chip labels.
|
|
293
|
+
4. **Teal-tinted shadows.** *UI implication:* all shadows have a slight teal undertone.
|
|
294
|
+
5. **0px-radius hero buttons, 4px-radius nav.** *UI implication:* mixed radius is intentional — sharp for data, soft for UX.
|
|
295
|
+
|
|
296
|
+
## 13. Personas
|
|
297
|
+
|
|
298
|
+
*Personas are fictional archetypes informed by MongoDB user segments (backend engineers, data architects, enterprise CTOs), not individual people.*
|
|
299
|
+
|
|
300
|
+
**Sergey Volkov, 38, Berlin.** Backend engineer building geo-distributed app. Atlas Multi-region for low-latency reads.
|
|
301
|
+
|
|
302
|
+
**Aisha Patel, 41, San Francisco.** Data architect at Fortune 500. Manages 200+ MongoDB clusters across hybrid cloud.
|
|
303
|
+
|
|
304
|
+
**Heinz Müller, 50, Munich.** CTO at industrial SaaS. MongoDB Atlas as the deciding factor for cloud-native pivot.
|
|
305
|
+
|
|
306
|
+
## 14. States
|
|
307
|
+
|
|
308
|
+
| State | Treatment |
|
|
309
|
+
|---|---|
|
|
310
|
+
| **Empty (no databases)** | "Create your first cluster" Atlas CTA |
|
|
311
|
+
| **Empty (no collections)** | Inline shell command + create button |
|
|
312
|
+
| **Loading (query)** | Per-stage execution explanation visible |
|
|
313
|
+
| **Loading (cluster scaling)** | Progress with elapsed time, ETA |
|
|
314
|
+
| **Error (query syntax)** | Inline below editor + line:column |
|
|
315
|
+
| **Error (server)** | Specific MongoDB error code + docs link |
|
|
316
|
+
| **Success (query)** | Results table + execution stats |
|
|
317
|
+
| **Success (cluster created)** | Connection string + security checklist |
|
|
318
|
+
| **Skeleton (cluster list)** | Teal-tinted placeholders |
|
|
319
|
+
| **Disabled (read-only)** | Lock icon + role tooltip |
|
|
320
|
+
| **Loading (long migration)** | Multi-step progress |
|
|
321
|
+
|
|
322
|
+
## 15. Motion & Easing
|
|
323
|
+
|
|
324
|
+
| Token | Value | Use |
|
|
325
|
+
|---|---|---|
|
|
326
|
+
| `motion-instant` | 0ms | Selection |
|
|
327
|
+
| `motion-fast` | 150ms | Hover |
|
|
328
|
+
| `motion-standard` | 250ms | Modal, panel |
|
|
329
|
+
|
|
330
|
+
Standard cubic-bezier; no bounce — enterprise register. `prefers-reduced-motion: reduce` removes hover transitions.
|
|
331
|
+
|
|
332
|
+
---
|
|
333
|
+
|
|
334
|
+
**Verified:** 2026-05-08 (omd:migrate run 40 — Apple-tier)
|
|
335
|
+
**Tier 1 sources:** mongodb.com home + /products/platform/atlas-database (live DOM via playwright — **Primary `#00ed64` Spring Green** 4px / Navy `#001e2b` text / 48-52px / 15-16×24-48 / 16px·**500** + **Inverse Primary `#001e2b` Navy** 4px on light canvas; **`#00684a` Forest Green is banner-strip chrome bg only, NOT a CTA**; cookie utility 2px / 12.195px·600 separate track).
|
|
336
|
+
**Tier 2 sources:** styles.refero.design / getdesign.md — no record.
|
|
337
|
+
**Tier 2 (Philosophy/founders/IPO):** Wikipedia (MongoDB Inc. + Eliot Horowitz), MongoDB About, MatrixBCG, PortersFiveForce, AlleyCorp, Medium (MongoDB IPO story).
|
|
338
|
+
**Style ref:** `stripe`. **Conflicts unresolved:** none. **Earlier mistake reverted (significant):** prior footer claimed Primary was `#00684a` 0px hero — actually `#00684a` is banner-strip chrome bg, canonical Primary is **Spring Green `#00ed64` 4px / Navy text**. §4 needs material correction.
|