oh-my-design-cli 1.8.7 → 1.9.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 (247) hide show
  1. package/.claude/hooks/lib/preferences-parser.cjs +1 -0
  2. package/.claude/hooks/lib/preferences-writer.cjs +1 -0
  3. package/.claude/hooks/post-edit-watch.cjs +1 -0
  4. package/.claude/hooks/session-end-foldin.cjs +1 -0
  5. package/.claude/hooks/session-state-loader.cjs +1 -0
  6. package/.claude/hooks/skill-activation.cjs +1 -0
  7. package/.claude/settings.json +10 -1
  8. package/.github/assets/logo-bg.png +0 -0
  9. package/AGENTS.md +20 -1
  10. package/CHANGELOG.md +482 -0
  11. package/MIGRATION.md +103 -0
  12. package/README.ja.md +56 -19
  13. package/README.ko.md +47 -30
  14. package/README.md +48 -30
  15. package/README.zh-TW.md +59 -22
  16. package/agents/AGENT.md +8 -7
  17. package/agents/omd-codex-image.md +1 -1
  18. package/agents/omd-critic.md +6 -7
  19. package/agents/omd-designer-review.md +1 -1
  20. package/agents/omd-final-qa.md +1 -1
  21. package/agents/omd-humanizer.md +38 -0
  22. package/agents/omd-kr-writer.md +3 -4
  23. package/agents/omd-locale-adapter.md +12 -16
  24. package/agents/omd-master.md +24 -19
  25. package/agents/omd-microcopy.md +1 -1
  26. package/agents/omd-orchestrator.md +7 -8
  27. package/agents/omd-slop-auditor.md +31 -0
  28. package/agents/omd-ux-researcher.md +1 -1
  29. package/data/reference-fingerprints.json +1995 -38
  30. package/dist/bin/oh-my-design.js +16 -8
  31. package/dist/bin/oh-my-design.js.map +1 -1
  32. package/dist/chunk-UJIHCEYF.js +99 -0
  33. package/dist/chunk-UJIHCEYF.js.map +1 -0
  34. package/dist/doctor-LDWSFM3I.js +763 -0
  35. package/dist/doctor-LDWSFM3I.js.map +1 -0
  36. package/dist/install-skills-ZZFNJ2II.js +1120 -0
  37. package/dist/install-skills-ZZFNJ2II.js.map +1 -0
  38. package/docs/CLI_QUICKSTART.md +157 -0
  39. package/package.json +25 -4
  40. package/scripts/postinstall.cjs +5 -4
  41. package/skills/claude-design/SKILL.md +38 -14
  42. package/skills/claude-design/references/claude-design-flow.md +11 -11
  43. package/skills/claude-design/references/codebase-analysis.md +5 -4
  44. package/skills/omd-final-qa/SKILL.md +1 -1
  45. package/skills/omd-harness/SKILL.md +51 -50
  46. package/skills/omd-humanize/SKILL.md +116 -0
  47. package/skills/omd-humanize/agents/openai.yaml +4 -0
  48. package/skills/omd-humanize/references/locale-playbooks.md +102 -0
  49. package/skills/omd-humanize/references/sources.md +11 -0
  50. package/skills/omd-init/SKILL.md +18 -12
  51. package/skills/omd-locale-adapter/SKILL.md +58 -91
  52. package/skills/omd-orchestrator/SKILL.md +11 -5
  53. package/skills/omd-reference-capture/SKILL.md +80 -26
  54. package/skills/omd-reference-capture/scripts/PLAYWRIGHT-LICENSE.txt +202 -0
  55. package/skills/omd-reference-capture/scripts/PLAYWRIGHT-NOTICE.txt +5 -0
  56. package/skills/omd-reference-capture/scripts/THIRD_PARTY_NOTICES.md +3 -0
  57. package/skills/omd-reference-capture/scripts/capture-reference-evidence.mjs +159906 -0
  58. package/skills/omd-slop-audit/SKILL.md +110 -0
  59. package/skills/omd-slop-audit/agents/openai.yaml +4 -0
  60. package/skills/omd-slop-audit/references/pattern-catalog.md +96 -0
  61. package/skills/omd-slop-audit/references/sources.md +24 -0
  62. package/web/references/104/DESIGN.md +354 -0
  63. package/web/references/11st/DESIGN.md +197 -316
  64. package/web/references/29cm/DESIGN.md +297 -393
  65. package/web/references/42dot/DESIGN.md +390 -0
  66. package/web/references/8percent/DESIGN.md +438 -0
  67. package/web/references/ably/DESIGN.md +267 -572
  68. package/web/references/acer/DESIGN.md +329 -0
  69. package/web/references/airbnb/DESIGN.md +219 -557
  70. package/web/references/alipay/DESIGN.md +179 -420
  71. package/web/references/apple/DESIGN.md +224 -498
  72. package/web/references/asleep/DESIGN.md +402 -0
  73. package/web/references/au/DESIGN.md +334 -0
  74. package/web/references/autopedia/DESIGN.md +382 -0
  75. package/web/references/aws-cloudscape/DESIGN.md +241 -0
  76. package/web/references/baemin/DESIGN.md +332 -491
  77. package/web/references/banksalad/DESIGN.md +269 -180
  78. package/web/references/barogo/DESIGN.md +416 -0
  79. package/web/references/beusable/DESIGN.md +464 -0
  80. package/web/references/bilibili/DESIGN.md +206 -374
  81. package/web/references/bmw/DESIGN.md +162 -276
  82. package/web/references/brandi/DESIGN.md +184 -325
  83. package/web/references/catchtable/DESIGN.md +219 -264
  84. package/web/references/cgv/DESIGN.md +317 -0
  85. package/web/references/channeltalk/DESIGN.md +210 -336
  86. package/web/references/china-airlines/DESIGN.md +291 -0
  87. package/web/references/cjonstyle/DESIGN.md +453 -0
  88. package/web/references/class101/DESIGN.md +168 -387
  89. package/web/references/classum/DESIGN.md +228 -203
  90. package/web/references/claude/DESIGN.md +242 -479
  91. package/web/references/clay/DESIGN.md +179 -377
  92. package/web/references/clickhouse/DESIGN.md +254 -343
  93. package/web/references/cohere/DESIGN.md +214 -324
  94. package/web/references/coinone/DESIGN.md +199 -179
  95. package/web/references/corca/DESIGN.md +414 -0
  96. package/web/references/coupang/DESIGN.md +205 -475
  97. package/web/references/cursor/DESIGN.md +240 -381
  98. package/web/references/dabang/DESIGN.md +248 -213
  99. package/web/references/dable/DESIGN.md +431 -0
  100. package/web/references/datarize/DESIGN.md +217 -330
  101. package/web/references/dealicious/DESIGN.md +402 -0
  102. package/web/references/drdiary/DESIGN.md +404 -0
  103. package/web/references/elastic/DESIGN.md +238 -0
  104. package/web/references/elevenlabs/DESIGN.md +183 -321
  105. package/web/references/eslite/DESIGN.md +257 -0
  106. package/web/references/evaair/DESIGN.md +338 -0
  107. package/web/references/expo/DESIGN.md +238 -331
  108. package/web/references/familymart-tw/DESIGN.md +254 -0
  109. package/web/references/ferrari/DESIGN.md +160 -377
  110. package/web/references/figma/DESIGN.md +197 -451
  111. package/web/references/fitpet/DESIGN.md +445 -0
  112. package/web/references/flex/DESIGN.md +170 -253
  113. package/web/references/framer/DESIGN.md +197 -340
  114. package/web/references/freee/DESIGN.md +211 -533
  115. package/web/references/friendliai/DESIGN.md +431 -0
  116. package/web/references/frip/DESIGN.md +440 -0
  117. package/web/references/gangnamunni/DESIGN.md +154 -591
  118. package/web/references/gaudiolab/DESIGN.md +414 -0
  119. package/web/references/google/DESIGN.md +290 -398
  120. package/web/references/hashicorp/DESIGN.md +273 -318
  121. package/web/references/heydealer/DESIGN.md +429 -0
  122. package/web/references/humanscape/DESIGN.md +433 -0
  123. package/web/references/hyundai/DESIGN.md +158 -368
  124. package/web/references/hyundaicard/DESIGN.md +171 -121
  125. package/web/references/ibm/DESIGN.md +227 -378
  126. package/web/references/idus/DESIGN.md +450 -0
  127. package/web/references/igaworks/DESIGN.md +437 -0
  128. package/web/references/inflearn/DESIGN.md +221 -366
  129. package/web/references/intuit/DESIGN.md +244 -0
  130. package/web/references/jandi/DESIGN.md +191 -291
  131. package/web/references/jobplanet/DESIGN.md +415 -0
  132. package/web/references/kakao/DESIGN.md +287 -475
  133. package/web/references/kakaobank/DESIGN.md +220 -521
  134. package/web/references/kakaogames/DESIGN.md +220 -0
  135. package/web/references/kakaopay/DESIGN.md +207 -526
  136. package/web/references/karrot/DESIGN.md +227 -251
  137. package/web/references/kb-kookmin/DESIGN.md +308 -0
  138. package/web/references/kbank/DESIGN.md +220 -175
  139. package/web/references/kmong/DESIGN.md +281 -356
  140. package/web/references/krds/DESIGN.md +245 -19
  141. package/web/references/kream/DESIGN.md +224 -359
  142. package/web/references/kurly/DESIGN.md +211 -533
  143. package/web/references/lamborghini/DESIGN.md +198 -360
  144. package/web/references/lguplus/DESIGN.md +259 -0
  145. package/web/references/likelion/DESIGN.md +283 -0
  146. package/web/references/line/DESIGN.md +396 -355
  147. package/web/references/linear.app/DESIGN.md +209 -562
  148. package/web/references/lotteon/DESIGN.md +386 -0
  149. package/web/references/lovable/DESIGN.md +255 -349
  150. package/web/references/makinarocks/DESIGN.md +149 -349
  151. package/web/references/maum-ai/DESIGN.md +423 -0
  152. package/web/references/medibloc/DESIGN.md +425 -0
  153. package/web/references/megabox/DESIGN.md +232 -0
  154. package/web/references/mercari/DESIGN.md +217 -434
  155. package/web/references/microsoft/DESIGN.md +234 -388
  156. package/web/references/mildang/DESIGN.md +411 -0
  157. package/web/references/millie/DESIGN.md +183 -504
  158. package/web/references/minimax/DESIGN.md +264 -322
  159. package/web/references/miricanvas/DESIGN.md +182 -355
  160. package/web/references/miro/DESIGN.md +234 -232
  161. package/web/references/mistral.ai/DESIGN.md +231 -314
  162. package/web/references/mixi/DESIGN.md +234 -0
  163. package/web/references/moin/DESIGN.md +445 -0
  164. package/web/references/mongodb/DESIGN.md +219 -316
  165. package/web/references/musinsa/DESIGN.md +184 -510
  166. package/web/references/mynavi/DESIGN.md +242 -0
  167. package/web/references/myrealtrip/DESIGN.md +169 -406
  168. package/web/references/naver/DESIGN.md +328 -499
  169. package/web/references/naverwebtoon/DESIGN.md +172 -395
  170. package/web/references/nhn/DESIGN.md +169 -346
  171. package/web/references/nhncloud/DESIGN.md +185 -123
  172. package/web/references/notion/DESIGN.md +271 -475
  173. package/web/references/nrise/DESIGN.md +417 -0
  174. package/web/references/ohouse/DESIGN.md +210 -549
  175. package/web/references/oliveyoung/DESIGN.md +217 -326
  176. package/web/references/ollama/DESIGN.md +241 -308
  177. package/web/references/onestore/DESIGN.md +248 -0
  178. package/web/references/palantir/DESIGN.md +256 -0
  179. package/web/references/panasonic/DESIGN.md +276 -0
  180. package/web/references/patternfly/DESIGN.md +259 -0
  181. package/web/references/payhere/DESIGN.md +438 -0
  182. package/web/references/pega/DESIGN.md +262 -0
  183. package/web/references/peoplefund/DESIGN.md +431 -0
  184. package/web/references/petfriends/DESIGN.md +428 -0
  185. package/web/references/pinkfong/DESIGN.md +199 -367
  186. package/web/references/pinterest/DESIGN.md +258 -308
  187. package/web/references/poya/DESIGN.md +286 -0
  188. package/web/references/pozalabs/DESIGN.md +438 -0
  189. package/web/references/protopie/DESIGN.md +419 -0
  190. package/web/references/qraft/DESIGN.md +448 -0
  191. package/web/references/quotabook/DESIGN.md +449 -0
  192. package/web/references/recruit/DESIGN.md +247 -0
  193. package/web/references/remember/DESIGN.md +202 -396
  194. package/web/references/resend/DESIGN.md +274 -348
  195. package/web/references/sakura-internet/DESIGN.md +269 -0
  196. package/web/references/samsung/DESIGN.md +157 -359
  197. package/web/references/sandoll/DESIGN.md +445 -0
  198. package/web/references/sanity/DESIGN.md +241 -375
  199. package/web/references/scatterlab/DESIGN.md +412 -0
  200. package/web/references/selectstar/DESIGN.md +439 -0
  201. package/web/references/servicenow/DESIGN.md +289 -0
  202. package/web/references/shinhanbank/DESIGN.md +161 -341
  203. package/web/references/shinhancard/DESIGN.md +208 -319
  204. package/web/references/sionic/DESIGN.md +454 -0
  205. package/web/references/sktelecom/DESIGN.md +310 -0
  206. package/web/references/socar/DESIGN.md +125 -32
  207. package/web/references/softbank/DESIGN.md +231 -0
  208. package/web/references/sony/DESIGN.md +234 -0
  209. package/web/references/soop/DESIGN.md +261 -0
  210. package/web/references/spacex/DESIGN.md +184 -323
  211. package/web/references/spotify/DESIGN.md +253 -394
  212. package/web/references/squeezebits/DESIGN.md +441 -0
  213. package/web/references/stayfolio/DESIGN.md +422 -0
  214. package/web/references/stripe/DESIGN.md +212 -491
  215. package/web/references/supabase/DESIGN.md +244 -316
  216. package/web/references/tabling/DESIGN.md +415 -0
  217. package/web/references/taishinbank/DESIGN.md +243 -0
  218. package/web/references/teamlab/DESIGN.md +240 -0
  219. package/web/references/teamsparta/DESIGN.md +472 -0
  220. package/web/references/tellingme/DESIGN.md +392 -0
  221. package/web/references/tesla/DESIGN.md +244 -427
  222. package/web/references/thsr/DESIGN.md +284 -0
  223. package/web/references/thumbtack/DESIGN.md +302 -0
  224. package/web/references/together.ai/DESIGN.md +257 -304
  225. package/web/references/toss/DESIGN.md +251 -593
  226. package/web/references/toss-securities/DESIGN.md +255 -178
  227. package/web/references/tossbank/DESIGN.md +195 -491
  228. package/web/references/toyota/DESIGN.md +238 -0
  229. package/web/references/tving/DESIGN.md +197 -245
  230. package/web/references/typed/DESIGN.md +413 -0
  231. package/web/references/uber/DESIGN.md +256 -333
  232. package/web/references/udn/DESIGN.md +250 -0
  233. package/web/references/upbit/DESIGN.md +145 -256
  234. package/web/references/upstage/DESIGN.md +211 -204
  235. package/web/references/uswds/DESIGN.md +287 -0
  236. package/web/references/vercel/DESIGN.md +236 -440
  237. package/web/references/wanted/DESIGN.md +215 -487
  238. package/web/references/wise/DESIGN.md +223 -231
  239. package/web/references/wisetracker/DESIGN.md +462 -0
  240. package/web/references/wooribank/DESIGN.md +245 -0
  241. package/web/references/yanolja/DESIGN.md +250 -419
  242. package/web/references/yeogiotte/DESIGN.md +235 -418
  243. package/web/references/zapier/DESIGN.md +256 -377
  244. package/web/references/zendesk/DESIGN.md +288 -0
  245. package/web/references/zigzag/DESIGN.md +200 -621
  246. package/dist/install-skills-7UUDOLG2.js +0 -734
  247. package/dist/install-skills-7UUDOLG2.js.map +0 -1
@@ -8,386 +8,319 @@ primary_color: "#000000"
8
8
  logo:
9
9
  type: simpleicons
10
10
  slug: ollama
11
- verified: "2026-05-15"
11
+ verified: "2026-07-13"
12
12
  omd: "0.1"
13
+ verification_v2:
14
+ schema: 2
15
+ checked: "2026-07-13"
16
+ surfaces:
17
+ - { id: home, kind: marketing, url: "https://ollama.com/", inspected: "2026-07-13" }
18
+ - { id: surface-2, kind: marketing, url: "https://ollama.com/pricing", inspected: "2026-07-13" }
19
+ - { id: surface-3, kind: documentation, url: "https://docs.ollama.com/", inspected: "2026-07-13" }
20
+ sources:
21
+ - { id: home-live, kind: product-surface, url: "https://ollama.com/", captured: "2026-07-13" }
22
+ - { id: pricing-live, kind: product-surface, url: "https://ollama.com/pricing", captured: "2026-07-13" }
23
+ - { id: docs-live, kind: official-doc, url: "https://docs.ollama.com/", captured: "2026-07-13" }
24
+ - { id: repository, kind: official-doc, url: "https://github.com/ollama/ollama", captured: "2026-07-13" }
25
+ conflicts: []
26
+ claims:
27
+ "tokens.colors.ink": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
28
+ "tokens.colors.action": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
29
+ "tokens.colors.canvas": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
30
+ "tokens.colors.muted": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
31
+ "tokens.colors.hairline": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
32
+ "tokens.colors.outline": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
33
+ "tokens.typography.family.sans": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
34
+ "tokens.typography.family.mono": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
35
+ "tokens.typography.body-sm.size": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
36
+ "tokens.typography.body-sm.weight": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
37
+ "tokens.typography.body-sm.lineHeight": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
38
+ "tokens.typography.body-sm.use": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
39
+ "tokens.typography.body.size": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
40
+ "tokens.typography.body.weight": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
41
+ "tokens.typography.body.lineHeight": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
42
+ "tokens.typography.body.use": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
43
+ "tokens.typography.nav.size": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
44
+ "tokens.typography.nav.weight": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
45
+ "tokens.typography.nav.lineHeight": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
46
+ "tokens.typography.nav.use": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
47
+ "tokens.typography.section.size": { surface_id: surface-2, source_id: pricing-live, method: computed-style, captured: "2026-07-13" }
48
+ "tokens.typography.section.weight": { surface_id: surface-2, source_id: pricing-live, method: computed-style, captured: "2026-07-13" }
49
+ "tokens.typography.section.lineHeight": { surface_id: surface-2, source_id: pricing-live, method: computed-style, captured: "2026-07-13" }
50
+ "tokens.typography.section.use": { surface_id: surface-2, source_id: pricing-live, method: computed-style, captured: "2026-07-13" }
51
+ "tokens.spacing.xxs": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
52
+ "tokens.spacing.xs": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
53
+ "tokens.spacing.sm": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
54
+ "tokens.spacing.md": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
55
+ "tokens.spacing.lg": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
56
+ "tokens.spacing.xl": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
57
+ "tokens.spacing.2xl": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
58
+ "tokens.rounded.full": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
59
+ "tokens.shadow.none": { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
13
60
  tokens:
14
- source: prose-derived
15
- extracted: "2026-06-09"
61
+ source: reconciled
62
+ extracted: "2026-07-13"
16
63
  colors:
17
64
  ink: "#000000"
18
- near-black: "#262626"
19
- darkest: "#090909"
65
+ action: "#262626"
20
66
  canvas: "#ffffff"
21
- snow: "#fafafa"
22
- light-gray: "#e5e5e5"
23
- stone: "#737373"
24
- mid-gray: "#525252"
25
- silver: "#a3a3a3"
26
- button-text: "#404040"
27
- ring: "#3b82f6"
28
- border-light: "#d4d4d4"
67
+ muted: "#737373"
68
+ hairline: "#e5e7eb"
69
+ outline: "#d4d4d4"
29
70
  typography:
30
- family: { sans: "SF Pro Rounded", mono: "ui-monospace" }
31
- display: { size: 48, weight: 500, lineHeight: 1.0, use: "Hero, rounded letterforms" }
32
- section: { size: 36, weight: 500, lineHeight: 1.11, use: "Feature section titles" }
33
- subheading: { size: 30, weight: 500, lineHeight: 1.2, use: "Card headings, feature names" }
34
- card-title: { size: 24, weight: 400, lineHeight: 1.33, use: "Medium emphasis headings" }
35
- body-lg: { size: 18, weight: 400, lineHeight: 1.56, use: "Hero descriptions, button text" }
36
- body: { size: 16, weight: 400, lineHeight: 1.5, use: "Body text, navigation" }
37
- caption: { size: 14, weight: 400, lineHeight: 1.43, use: "Metadata, descriptions" }
38
- small: { size: 12, weight: 400, lineHeight: 1.33, use: "Smallest sans text" }
39
- code: { size: 16, weight: 400, lineHeight: 1.5, use: "Inline code, commands" }
40
- spacing: { sm: 10, base: 24 }
41
- rounded: { sm: 12, md: 12, lg: 12, full: 9999 }
71
+ family: { sans: "ui-sans-serif", mono: "ui-monospace" }
72
+ body-sm: { size: 14, weight: 400, lineHeight: 1.43, use: "Observed product text and input" }
73
+ body: { size: 16, weight: 400, lineHeight: 1.5, use: "Observed product list and body text" }
74
+ nav: { size: 18, weight: 400, lineHeight: 1.56, use: "Product navigation and header controls" }
75
+ section: { size: 30, weight: 500, lineHeight: 1.2, use: "Observed pricing heading" }
76
+ spacing: { xxs: 4, xs: 6, sm: 8, md: 12, lg: 16, xl: 24, 2xl: 32 }
77
+ rounded: { full: 9999 }
42
78
  shadow:
43
79
  none: "none"
44
- components:
45
- button-primary: { type: button, bg: "#e5e5e5", fg: "#262626", radius: 9999, padding: "10px 24px", use: "Primary action, gray pill" }
46
- button-secondary: { type: button, bg: "#ffffff", fg: "#404040", radius: 9999, padding: "10px 24px", use: "Secondary action, white pill" }
47
- button-cta: { type: button, bg: "#000000", fg: "#ffffff", radius: 9999, use: "Max emphasis (Create account, Download)" }
48
- card: { type: card, bg: "#ffffff", radius: 12, use: "Container, 1px light-gray border, no shadow" }
49
- input: { type: input, bg: "#ffffff", radius: 9999, use: "Pill search/form field" }
50
- tab-pill: { type: tab, bg: "transparent", radius: 9999, use: "Pill tab selector", active: "#e5e5e5 bg" }
51
- model-tag: { type: badge, bg: "#e5e5e5", fg: "#262626", radius: 9999, use: "Model browse tag" }
52
- components_harvested: true
80
+ components: {}
81
+ components_harvested: false
53
82
  ---
54
83
 
55
84
  # Design System Inspiration of Ollama
56
85
 
57
86
  ## 1. Visual Theme & Atmosphere
58
87
 
59
- Ollama's interface is radical minimalism taken to its logical conclusion a pure-white void where content floats without decoration, shadow, or color. The design philosophy mirrors the product itself: strip away everything unnecessary until only the essential tool remains. This is the digital equivalent of a Dieter Rams object every pixel earns its place, and the absence of design IS the design.
88
+ Ollama is a developer platform for getting open models running locally, through an app, CLI, API, and integrations. Its public product marketing surface makes that technical proposition feel deliberately direct: a white canvas, black and charcoal calls to action, spare text links, terminal-shaped instructions, and full-pill controls. The current homepage pairs the local-first promise with an optional cloud offer—"Start local. Scale with cloud."—rather than replacing the local workflow. That evolution is echoed in the pricing surface, which introduces Free, Pro, and Max tiers while keeping download and local use visible. Visually, the recognizable expression is restrained neutral contrast and rounded product controls, not an independently named color system or decorative campaign treatment.
60
89
 
61
- The entire page exists in pure grayscale. There is zero chromatic color in the interface no brand blue, no accent green, no semantic red. The only colors that exist are shades between pure black (`#000000`) and pure white (`#ffffff`), creating a monochrome environment that lets the user's mental model of "open models" remain uncolored by brand opinion. The Ollama llama mascot, rendered in simple black line art, is the only illustration and even it's monochrome.
90
+ The July 2026 company post describes the product as a way to make open models easy to run, build with, own, and keep private; its homepage and pricing page now present cloud capacity as an extension for larger or parallel workloads. The live values below describe those public marketing product surfaces at the captured desktop viewport. Documentation chrome is recorded separately and is not promoted into product tokens.
62
91
 
63
- What makes Ollama distinctive is the combination of SF Pro Rounded (Apple's rounded system font) with an exclusively pill-shaped geometry (9999px radius on everything interactive). The rounded letterforms + rounded buttons + rounded containers create a cohesive "softness language" that makes a developer CLI tool feel approachable and friendly rather than intimidating. This is minimalism with warmth — not cold Swiss-style grid minimalism, but the kind where the edges are literally softened.
92
+ **Key characteristics:**
64
93
 
65
- **Key Characteristics:**
66
- - Pure white canvas with zero chromatic color completely grayscale
67
- - SF Pro Rounded headlines creating a distinctively Apple-like softness
68
- - Binary border-radius system: 12px (containers) or 9999px (everything interactive)
69
- - Zero shadows depth comes exclusively from background color shifts and borders
70
- - Pill-shaped geometry on all interactive elements (buttons, tabs, inputs, tags)
71
- - The Ollama llama as the sole illustration — black line art, no color
72
- - Extreme content restraint — the homepage is short, focused, and uncluttered
94
+ - White canvas, black text, and charcoal (`#262626`) primary CTAs.
95
+ - Full-pill (`9999px`) controls for the observed product inputs and calls to action.
96
+ - No observed drop shadow on the product controls in the supplied capture.
97
+ - System-stack body text plus a separately unresolved rounded display-family observation.
98
+ - Terminal and command language used as product content, not ornament.
73
99
 
74
100
  ## 2. Color Palette & Roles
75
101
 
76
- ### Primary
77
- - **Pure Black** (`#000000`): Primary headlines, primary links, and the darkest text. The only "color" that demands attention.
78
- - **Near Black** (`#262626`): Button text on light surfaces, secondary headline weight.
79
- - **Darkest Surface** (`#090909`): The darkest possible surface — barely distinguishable from pure black, used for footer or dark containers.
102
+ ### Product marketing surfaces
80
103
 
81
- ### Surface & Background
82
- - **Pure White** (`#ffffff`): The primary page background not off-white, not cream, pure white. Button surfaces for secondary actions.
83
- - **Snow** (`#fafafa`): The subtlest possible surface distinction from white — used for section backgrounds and barely-elevated containers.
84
- - **Light Gray** (`#e5e5e5`): Button backgrounds, borders, and the primary containment color. The workhorse neutral.
104
+ - **Ink** (`#000000`): observed primary text and the text of white pricing actions.
105
+ - **Action charcoal** (`#262626`): observed header download and hero CTA background.
106
+ - **Canvas** (`#ffffff`): observed page and inverted pricing CTA surface.
107
+ - **Muted** (`#737373`): observed secondary product text.
108
+ - **Hairline** (`#e5e7eb`): observed product border color.
109
+ - **Outline** (`#d4d4d4`): observed border on a white product CTA.
85
110
 
86
- ### Neutrals & Text
87
- - **Stone** (`#737373`): Secondary body text, footer links, and de-emphasized content. The primary "muted" tone.
88
- - **Mid Gray** (`#525252`): Emphasized secondary text, slightly darker than Stone.
89
- - **Silver** (`#a3a3a3`): Tertiary text, placeholders, and deeply de-emphasized metadata.
90
- - **Button Text Dark** (`#404040`): Specific to white-surface button text.
111
+ ### Documentation chrome — separate domain
91
112
 
92
- ### Semantic & Accent
93
- - **Ring Blue** (`#3b82f6` at 50%): The ONLY non-gray color in the entire system — Tailwind's default focus ring, used exclusively for keyboard accessibility. Never visible in normal interaction flow.
94
- - **Border Light** (`#d4d4d4`): A slightly darker gray for white-surface button borders.
95
-
96
- ### Gradient System
97
- - **None.** Ollama uses absolutely no gradients. Visual separation comes from flat color blocks and single-pixel borders. This is a deliberate, almost philosophical design choice.
113
+ The captured docs homepage uses additional light-gray, charcoal, and semantic color values. Those belong to `docs.ollama.com` chrome and are not product-marketing tokens. No gradient token is asserted from the supplied evidence.
98
114
 
99
115
  ## 3. Typography Rules
100
116
 
101
- ### Font Family
102
- - **Display**: `SF Pro Rounded`, with fallbacks: `system-ui, -apple-system, system-ui`
103
- - **Body / UI**: `ui-sans-serif`, with fallbacks: `system-ui, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji`
104
- - **Monospace**: `ui-monospace`, with fallbacks: `SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New`
105
-
106
- *Note: SF Pro Rounded is Apple's system font — it renders with rounded terminals on macOS/iOS and falls back to the system sans-serif on other platforms.*
107
-
108
- ### Hierarchy
109
-
110
- | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
111
- |------|------|------|--------|-------------|----------------|-------|
112
- | Display / Hero | SF Pro Rounded | 48px (3rem) | 500 | 1.00 (tight) | normal | Maximum impact, rounded letterforms |
113
- | Section Heading | SF Pro Rounded | 36px (2.25rem) | 500 | 1.11 (tight) | normal | Feature section titles |
114
- | Sub-heading | SF Pro Rounded / ui-sans-serif | 30px (1.88rem) | 400–500 | 1.20 (tight) | normal | Card headings, feature names |
115
- | Card Title | ui-sans-serif | 24px (1.5rem) | 400 | 1.33 | normal | Medium emphasis headings |
116
- | Body Large | ui-sans-serif | 18px (1.13rem) | 400–500 | 1.56 | normal | Hero descriptions, button text |
117
- | Body / Link | ui-sans-serif | 16px (1rem) | 400–500 | 1.50 | normal | Standard body text, navigation |
118
- | Caption | ui-sans-serif | 14px (0.88rem) | 400 | 1.43 | normal | Metadata, descriptions |
119
- | Small | ui-sans-serif | 12px (0.75rem) | 400 | 1.33 | normal | Smallest sans-serif text |
120
- | Code Body | ui-monospace | 16px (1rem) | 400 | 1.50 | normal | Inline code, commands |
121
- | Code Caption | ui-monospace | 14px (0.88rem) | 400 | 1.43 | normal | Code snippets, secondary |
122
- | Code Small | ui-monospace | 12px (0.75rem) | 400–700 | 1.63 | normal | Tags, labels |
123
-
124
- ### Principles
125
- - **Rounded display, standard body**: SF Pro Rounded carries display headlines with its distinctive rounded terminals, while the standard system sans handles all body text. The rounded font IS the brand expression.
126
- - **Weight restraint**: Only two weights matter — 400 (regular) for body and 500 (medium) for headings. No bold, no light, no black weight. This extreme restraint reinforces the minimal philosophy.
127
- - **Tight display, comfortable body**: Headlines compress to 1.0 line-height, while body text relaxes to 1.43–1.56. The contrast creates clear hierarchy without needing weight contrast.
128
- - **Monospace for developer identity**: Code blocks and terminal commands appear throughout as primary content, using the system monospace stack.
117
+ ### Official product-use
118
+
119
+ Ollama’s official homepage, pricing page, documentation, and public repository all frame the product around local and open-model workflows. They do not provide a first-party typography specification or a downloadable Ollama-branded typeface in the sources reviewed for this update.
120
+
121
+ ### Live computed product-surface use
122
+
123
+ `ui-sans-serif` is the high-confidence visible system stack across the captured homepage and pricing page; `system-ui` is also observed in the bundle. These are system-stack facts, not a claim to a proprietary Ollama font. The observed product text scale includes 14px/400/20px, 16px/400/24px, 18px/400/28px, and a 30px/500/36px pricing heading.
124
+
125
+ `SF Pro Rounded` appears in computed headings on the homepage and pricing page (including 36px/500/40px and 48px/600/48px), but the supplied FontFaceSet/source reconciliation contains no matching loaded face or source URL. It remains **unresolved** and is deliberately excluded from `tokens.typography.family`. Apple describes SF Pro and its rounded variant as Apple platform fonts; that does not establish an Ollama-distributed webfont or a portable product token.
126
+
127
+ `ui-monospace` is observed in product command-related UI and is retained as a system-stack token. The capture does not establish a custom downloadable monospace family for the product.
128
+
129
+ ### Declared-only documentation assets
130
+
131
+ On `docs.ollama.com`, the raw bundle declares `Inter`, `paperMono`, `CMU Typewriter Text`, and `Latin Modern` sources. It records zero visible usage for each. They remain declared-only documentation assets, not product typography tokens or live specimens. The docs surface is therefore not evidence for the homepage/pricing typography system.
132
+
133
+ ### Typography application
134
+
135
+ | Role | Family status | Observed size / weight / line height | Surface boundary |
136
+ |------|---------------|--------------------------------------|------------------|
137
+ | Product body | system `ui-sans-serif` | 14px / 400 / 20px; 16px / 400 / 24px | homepage and pricing |
138
+ | Product navigation | system `ui-sans-serif` | 18px / 400 / 28px | homepage |
139
+ | Pricing section title | system `ui-sans-serif` | 30px / 500 / 36px | pricing |
140
+ | Rounded display headings | unresolved `SF Pro Rounded` | 36px / 500 / 40px; 48px / 600 / 48px | homepage and pricing; no loaded/source match |
141
+ | Product command UI | system `ui-monospace` | 14px / 400 / 22.75px | homepage |
142
+ | Docs fonts | declared-only | no visible usage recorded | docs only |
129
143
 
130
144
  ## 4. Component Stylings
131
145
 
132
- ### Buttons
133
-
134
- **Gray Pill (Primary)**
135
- - Background: Light Gray (`#e5e5e5`)
136
- - Text: Near Black (`#262626`)
137
- - Padding: 10px 24px
138
- - Border: thin solid Light Gray (`1px solid #e5e5e5`)
139
- - Radius: pill-shaped (9999px)
140
- - The primary action button — understated, grayscale, always pill-shaped
141
-
142
- **White Pill (Secondary)**
143
- - Background: Pure White (`#ffffff`)
144
- - Text: Button Text Dark (`#404040`)
145
- - Padding: 10px 24px
146
- - Border: thin solid Border Light (`1px solid #d4d4d4`)
147
- - Radius: pill-shaped (9999px)
148
- - Secondary action — visually lighter than Gray Pill
149
-
150
- **Black Pill (CTA)**
151
- - Background: Pure Black (`#000000`)
152
- - Text: Pure White (`#ffffff`)
153
- - Radius: pill-shaped (9999px)
154
- - Inferred from "Create account" and "Explore" buttons
155
- - Maximum emphasis — black on white
156
-
157
- ### Cards & Containers
158
- - Background: Pure White or Snow (`#fafafa`)
159
- - Border: thin solid Light Gray (`1px solid #e5e5e5`) when needed
160
- - Radius: comfortably rounded (12px) the ONLY non-pill radius in the system
161
- - Shadow: **none** — zero shadows on any element
162
- - Hover: likely subtle background shift or border darkening
163
-
164
- ### Inputs & Forms
165
- - Background: Pure White
166
- - Border: `1px solid #e5e5e5`
167
- - Radius: pill-shaped (9999px) — search inputs and form fields are pill-shaped
168
- - Focus: Ring Blue (`#3b82f6` at 50%) ring
169
- - Placeholder: Silver (`#a3a3a3`)
170
-
171
- ### Navigation
172
- - Clean horizontal nav with minimal elements
173
- - Logo: Ollama llama icon + wordmark in black
174
- - Links: "Models", "Docs", "Pricing" in black at 16px, weight 400
175
- - Search bar: pill-shaped with placeholder text
176
- - Right side: "Sign in" link + "Download" black pill CTA
177
- - No borders, no background transparent nav on white page
178
-
179
- ### Image Treatment
180
- - The Ollama llama mascot is the only illustration — black line art on white
181
- - Code screenshots/terminal outputs shown in bordered containers (12px radius)
182
- - Integration logos displayed as simple icons in a grid
183
- - No photographs, no gradients, no decorative imagery
184
-
185
- ### Distinctive Components
186
-
187
- **Tab Pills**
188
- - Pill-shaped tab selectors (e.g., "Coding" | "OpenClaw")
189
- - Active: Light Gray bg; Inactive: transparent
190
- - All pill-shaped (9999px)
191
-
192
- **Model Tags**
193
- - Small pill-shaped tags (e.g., "ollama", "launch", "claude")
194
- - Light Gray background, dark text
195
- - The primary way to browse models
196
-
197
- **Terminal Command Block**
198
- - Monospace code showing `ollama run` commands
199
- - Minimal styling — just a bordered 12px-radius container
200
- - Copy button integrated
201
-
202
- **Integration Grid**
203
- - Grid of integration logos (Codex, Claude Code, OpenCode, LangChain, etc.)
204
- - Each in a bordered pill or card with icon + name
205
- - Tabbed by category (Coding, Documents & RAG, Automation, Chat)
146
+ The variants below preserve the captured selector, surface, and default-state provenance. The collector recorded zero interaction snapshots, so no hover, focus, pressed, disabled, error, dialog, or menu state is specified.
147
+
148
+ ### Product marketing — Header controls
149
+
150
+ **Sign-in ghost**
151
+ - Background: `rgba(0, 0, 0, 0.05)`
152
+ - Text: `#000000`
153
+ - Radius: `9999px`
154
+ - Padding: `6px 16px`
155
+ - Font: `18px / 400 / ui-sans-serif`
156
+ - Use: Homepage header link at `home::[data-omd-capture="5"]`.
157
+
158
+ **Download charcoal CTA**
159
+ - Background: `#262626`
160
+ - Text: `#ffffff`
161
+ - Radius: `9999px`
162
+ - Padding: `6px 16px`
163
+ - Font: `18px / 400 / ui-sans-serif`
164
+ - Use: Homepage header CTA at `home::[data-omd-capture="6"]`.
165
+
166
+ ### Product marketing Hero and pricing actions
167
+
168
+ **Hero charcoal CTA**
169
+ - Background: `#262626`
170
+ - Text: `#ffffff`
171
+ - Radius: `9999px`
172
+ - Padding: `12px 32px`
173
+ - Font: `18px / 500 / ui-sans-serif`
174
+ - Use: Homepage hero action at `home::[data-omd-capture="10"]`.
175
+
176
+ **Pricing outlined CTA**
177
+ - Background: `#ffffff`
178
+ - Text: `#000000`
179
+ - Border: `1px solid #d4d4d4`
180
+ - Radius: `9999px`
181
+ - Padding: `8px 24px`
182
+ - Font: `14px / 500 / ui-sans-serif`
183
+ - Use: Homepage pricing action at `home::[data-omd-capture="12"]`.
184
+
185
+ **Pricing white CTA**
186
+ - Background: `#ffffff`
187
+ - Text: `#000000`
188
+ - Radius: `9999px`
189
+ - Padding: `8px 24px`
190
+ - Font: `14px / 500 / ui-sans-serif`
191
+ - Use: Homepage pricing action at `home::[data-omd-capture="13"]`.
192
+
193
+ ### Product marketing — Input
194
+
195
+ **Pill input**
196
+ - Text: `#000000`
197
+ - Border: `0px solid #6b7280`
198
+ - Radius: `9999px`
199
+ - Padding: `10px 12px`
200
+ - Font: `14px / 400 / ui-sans-serif`
201
+ - Use: Homepage input at `home::[data-omd-capture="4"]`; also observed on pricing.
202
+
203
+ ### Documentation chrome separate domain
204
+
205
+ **Docs search control**
206
+ - Background: `#ffffff`
207
+ - Text: `#6f6f6f`
208
+ - Radius: `12px`
209
+ - Padding: `0px 12px 0px 14px`
210
+ - Font: `14px / 400 / ui-sans-serif`
211
+ - Use: Docs-only search button at `surface-3::[data-omd-capture="5"]`.
212
+
213
+ **Docs link card**
214
+ - Background: `#ffffff`
215
+ - Border: `1px solid oklab(0.144787 0.00000661612 0.00000289828 / 0.1)`
216
+ - Radius: `16px`
217
+ - Font: `16px / 400 / ui-sans-serif`
218
+ - Use: Docs-only link cards at `surface-3::[data-omd-capture="34"]` and related selectors.
206
219
 
207
220
  ## 5. Layout Principles
208
221
 
209
- ### Spacing System
210
- - Base unit: 8px
211
- - Scale: 4px, 6px, 8px, 9px, 10px, 12px, 14px, 16px, 20px, 24px, 32px, 40px, 48px, 88px, 112px
212
- - Button padding: 10px 24px (consistent across all buttons)
213
- - Card internal padding: approximately 24–32px
214
- - Section vertical spacing: very generous (88px–112px)
222
+ ### Spacing system
215
223
 
216
- ### Grid & Container
217
- - Max container width: approximately 1024–1280px, centered
218
- - Hero: centered single-column with llama illustration
219
- - Feature sections: 2-column layout (text left, code right)
220
- - Integration grid: responsive multi-column
221
- - Footer: clean single-row
224
+ The captured bundle clusters spacing at 4, 6, 8, 12, 16, 24, and 32px. These are observed values, not a published Ollama spacing scale. Header actions use 6px 16px padding, the hero CTA uses 12px 32px, and the product input uses 10px 12px.
222
225
 
223
- ### Whitespace Philosophy
224
- - **Emptiness as luxury**: The page is remarkably short and sparse — no feature section overstays its welcome. Each concept gets minimal but sufficient space.
225
- - **Content density is low by design**: Where other AI companies pack feature after feature, Ollama presents three ideas (run models, use with apps, integrations) and stops.
226
- - **The white space IS the brand**: Pure white space with zero decoration communicates "this tool gets out of your way."
226
+ ### Product composition
227
227
 
228
- ### Border Radius Scale
229
- - Comfortably rounded (12px): The sole container radius code blocks, cards, panels
230
- - Pill-shaped (9999px): Everything interactive — buttons, tabs, inputs, tags, badges
228
+ - The homepage leads with an install command and a narrow set of entry points: Models, Docs, Pricing, Sign in, and Download.
229
+ - The cloud proposition follows the local starting point instead of displacing it.
230
+ - Pricing is presented as Free, Pro, Max, and an announced Team tier on the captured official pricing page.
231
+ - Documentation is a separate content surface with navigation, search, cards, and API/integration paths; its chrome should not dictate the public product-marketing layout.
231
232
 
232
- *This binary system is extreme and distinctive. There is no 4px, no 8px, no gradient of roundness. Elements are either containers (12px) or interactive (pill).*
233
+ ### Radius boundary
233
234
 
234
- ## 6. Depth & Elevation
235
+ `9999px` is directly observed on the product controls recorded in §4. The 12px and 16px radii in this update are confined to documentation chrome; they are not generalized to the product marketing surface.
235
236
 
236
- | Level | Treatment | Use |
237
- |-------|-----------|-----|
238
- | Flat (Level 0) | No shadow, no border | Page background, most content |
239
- | Bordered (Level 1) | `1px solid #e5e5e5` | Cards, code blocks, buttons |
237
+ ## 6. Depth & Elevation
240
238
 
241
- **Shadow Philosophy**: Ollama uses **zero shadows**. This is not an oversight it's a deliberate design decision. Every other major AI product site uses at least subtle shadows. Ollama's flat, shadowless approach creates a paper-like experience where elements are distinguished purely by background color and single-pixel borders. Depth is communicated through **content hierarchy and typography weight**, not visual layering.
239
+ The captured homepage and pricing controls in §4 have `box-shadow: none`. Separate product elements can only be described when directly measured; this reference does not turn the absence of shadow on the sampled controls into a universal product rule. Docs cards carry transparent ring values in the raw capture, not an elevated product-card token.
242
240
 
243
241
  ## 7. Do's and Don'ts
244
242
 
245
243
  ### Do
246
- - Use pure white (`#ffffff`) as the page background — never off-white or cream
247
- - Use pill-shaped (9999px) radius on all interactive elements buttons, tabs, inputs, tags
248
- - Use 12px radius on all non-interactive containers code blocks, cards, panels
249
- - Keep the palette strictly grayscale no chromatic colors except the blue focus ring
250
- - Use SF Pro Rounded at weight 500 for display headings — the rounded terminals are the brand expression
251
- - Maintain zero shadows depth comes from borders and background shifts only
252
- - Keep content density low — each section should present one clear idea
253
- - Use monospace for terminal commands and code — it's primary content, not decoration
254
- - Keep all buttons at 10px 24px padding with pill shape — consistency is absolute
244
+
245
+ - Use `#262626` with white text for the observed dark product CTA treatment.
246
+ - Use full-pill geometry only for controls whose observed product provenance supports it.
247
+ - Keep body and navigation type on the system stack unless a loadable font is independently verified.
248
+ - Keep local use prominent when describing the current local-plus-cloud product story.
249
+ - Treat docs chrome as its own surface when borrowing patterns.
255
250
 
256
251
  ### Don't
257
- - Don't introduce any chromatic color — no brand blue, no accent green, no warm tones
258
- - Don't use border-radius between 12px and 9999px the system is binary
259
- - Don't add shadows to any element the flat aesthetic is intentional
260
- - Don't use font weights above 500 no bold, no black weight
261
- - Don't add decorative illustrations beyond the llama mascot
262
- - Don't use gradients anywhere flat blocks and borders only
263
- - Don't overcomplicate the layout — two columns maximum, no complex grids
264
- - Don't use borders heavier than 1px — containment is always the lightest possible touch
265
- - Don't add hover animations or transitions — interactions should feel instant and direct
252
+
253
+ - Do not substitute a local or system font and label it `SF Pro Rounded`.
254
+ - Do not promote declared docs fonts to the product UI family.
255
+ - Do not generalize docs cards or their 12px/16px radii to marketing-product components.
256
+ - Do not specify hover, focus, pressed, disabled, or error visuals from this capture; interaction coverage is zero.
257
+ - Do not invent a published spacing, shadow, or color scale where only clustered computed values were collected.
266
258
 
267
259
  ## 8. Responsive Behavior
268
260
 
269
- ### Breakpoints
270
- | Name | Width | Key Changes |
271
- |------|-------|-------------|
272
- | Mobile | <640px | Single column, stacked everything, hamburger nav |
273
- | Small Tablet | 640–768px | Minor adjustments to spacing |
274
- | Tablet | 768–850px | 2-column layouts begin |
275
- | Desktop | 850–1024px | Standard layout, expanded features |
276
- | Large Desktop | 1024–1280px | Maximum content width |
277
-
278
- ### Touch Targets
279
- - All buttons are pill-shaped with generous padding (10px 24px)
280
- - Navigation links at comfortable 16px size
281
- - Minimum touch area easily exceeds 44x44px
282
-
283
- ### Collapsing Strategy
284
- - **Navigation**: Collapses to hamburger menu on mobile
285
- - **Feature sections**: 2-column → stacked single column
286
- - **Hero text**: 48px → 36px → 30px progressive scaling
287
- - **Integration grid**: Multi-column → 2-column → single column
288
- - **Code blocks**: Horizontal scroll maintained
289
-
290
- ### Image Behavior
291
- - Llama mascot scales proportionally
292
- - Code blocks maintain monospace formatting
293
- - Integration icons reflow to fewer columns
294
- - No art direction changes
261
+ The supplied evidence is a 1440×900 desktop capture for each surface. It confirms the desktop component values in §4 but does not establish mobile breakpoints, collapsed navigation, touch targets, or responsive asset behavior. Those fields are intentionally absent rather than extrapolated.
295
262
 
296
263
  ## 9. Agent Prompt Guide
297
264
 
298
- ### Quick Color Reference
299
- - Primary Text: "Pure Black (#000000)"
300
- - Page Background: "Pure White (#ffffff)"
301
- - Secondary Text: "Stone (#737373)"
302
- - Button Background: "Light Gray (#e5e5e5)"
303
- - Borders: "Light Gray (#e5e5e5)"
304
- - Muted Text: "Silver (#a3a3a3)"
305
- - Dark Text: "Near Black (#262626)"
306
- - Subtle Surface: "Snow (#fafafa)"
307
-
308
- ### Example Component Prompts
309
- - "Create a hero section on pure white (#ffffff) with an illustration centered above a headline at 48px SF Pro Rounded weight 500, line-height 1.0. Use Pure Black (#000000) text. Below, add a black pill-shaped CTA button (9999px radius, 10px 24px padding) and a gray pill button."
310
- - "Design a code block with a 12px border-radius, 1px solid Light Gray (#e5e5e5) border on white background. Use ui-monospace at 16px for the terminal command. No shadow."
311
- - "Build a tab bar with pill-shaped tabs (9999px radius). Active tab: Light Gray (#e5e5e5) background, Near Black (#262626) text. Inactive: transparent background, Stone (#737373) text."
312
- - "Create an integration card grid. Each card is a bordered pill (9999px radius) or a 12px-radius card with 1px solid #e5e5e5 border. Icon + name inside. Grid of 4 columns on desktop."
313
- - "Design a navigation bar: transparent background, no border. Ollama logo on the left, 3 text links (Pure Black, 16px, weight 400), pill search input in the center, 'Sign in' text link and black pill 'Download' button on the right."
314
-
315
- ### Iteration Guide
316
- 1. Focus on ONE component at a time
317
- 2. Keep all values grayscale — "Stone (#737373)" not "use a light color"
318
- 3. Always specify pill (9999px) or container (12px) radius — nothing in between
319
- 4. Shadows are always zero — never add them
320
- 5. Weight is always 400 or 500 — never bold
321
- 6. If something feels too decorated, remove it — less is always more for Ollama
265
+ ### Safe product-marketing brief
322
266
 
323
- ## 10. Voice & Tone
267
+ > Create a sparse developer-tool landing section using a white canvas, `#000000` text, a `#262626` full-pill primary CTA with white text, and system sans body type. Keep the local workflow explicit. Do not claim or substitute SF Pro Rounded, and do not import documentation-site cards or declared docs fonts.
324
268
 
325
- Ollama's voice is **open-source-warm and CLI-fluent** — speaks like a tool team that values local-first AI. Marketing copy emphasizes the "run AI on your machine" thesis. Pill chrome + warm round buttons signal "approachable while still being a serious tool."
269
+ ### Safe documentation brief
270
+
271
+ > Treat documentation as a separate surface. A captured docs search control uses a white 12px-radius shell and a docs link card uses a white 16px-radius, 1px-border treatment. Keep those values out of product-marketing tokens unless new product-surface evidence supports them.
272
+
273
+ ## 10. Voice & Tone
326
274
 
327
- | Context | Tone |
328
- |---|---|
329
- | CTA | Verb. "Download", "Sign in", "Create account" |
330
- | Marketing | Practical. "Run language models locally" recurring |
331
- | Documentation | CLI-first; bash snippets dominant |
332
- | Error | Specific. "Model not found locally. Pull with: ollama pull llama3" |
275
+ The official homepage and repository use concise, action-first language: installation commands, “Get started,” “Download,” and “Start local. Scale with cloud.” The July 2026 company post explains the larger idea in direct developer language—open models should be easy to build, run, and own.
333
276
 
334
- **Voice samples**
335
- - Marketing CTA: *"Download"* / *"Create account"* <!-- verified: ollama.com homepage 2026-05 -->
277
+ | Do | Don't |
278
+ |----|-------|
279
+ | Lead with the concrete task or command. | Lead with abstract AI hype. |
280
+ | Explain local control and optional scale plainly. | Imply cloud use is required. |
281
+ | Name the developer workflow or integration. | Hide the next technical step behind marketing language. |
336
282
 
337
- **Forbidden phrases.** "Revolutionary AI", "magic". Aggressive sales pressure.
283
+ Verified voice samples: “The easiest way to build with open models,” “Start local. Scale with cloud.”, and “Your model. Your machine. Your data.”
338
284
 
339
285
  ## 11. Brand Narrative
340
286
 
341
- Ollama was founded by **Jeffrey Morgan** and **Michael Chiang** in **Palo Alto, CA** ([Y Combinator Ollama](https://www.ycombinator.com/companies/ollama), [No Cap Blog Michael Chiang](https://nocap.blog/founder/michael-chiang/)). Morgan + Chiang were **previously co-founders of Kitematic, the early UI for Docker** (acquired by Docker), giving them deep familiarity with developer-tooling distribution. The pair went through **Y Combinator Winter 2021 (W21)** batch with $125K initial investment, then pivoted into local-LLM tooling. **Initial public release July 2023 via GitHub** — the open-source CLI `ollama run llama3` became iconic in the local-AI community. The brand voice mirrors the lineage: practical, terse, CLI-aware. The cloud offering (**Ollama Pro / Max** tiers) launched **2024-2025** to monetize without abandoning the local-first OSS positioning. Mission: democratize AI access by eliminating cloud-service dependency for running LLMs ([Tracxn — Ollama](https://tracxn.com/d/companies/ollama/__dmKJg668xTKoW4o-mEXuoBUCM5Lwj1xIcCRlYr5tpOk)).
287
+ Ollama presents open models as something developers should be able to run on their own machine and integrate through a simple API. Its official repository and documentation make that practical: download the software, run a model, connect an integration, or use the API.
342
288
 
343
- ## 12. Principles
289
+ In the company’s July 2026 post, Jeff and Michael connect Ollama to their earlier work on Kitematic and Docker Desktop, then describe a return to making complex developer infrastructure easier to run. The same post frames the present product around ownership, affordability, and privacy, with cloud capacity offered when local hardware is not enough.
344
290
 
345
- 1. **Local-first is the thesis.** *UI implication:* product surfaces lead with `ollama run` CLI, not a hosted UI.
346
- 2. **Pill chrome (9999px).** *UI implication:* nav, badges, modals all pill on white.
347
- 3. **Weight 400 or 500, never bold.** *UI implication:* don't use weight 700+.
348
- 4. **Less is more — remove decoration.** *UI implication:* no ornament; if something feels decorative, cut it.
349
- 5. **OSS and Pro coexist.** *UI implication:* Pro/Max tiers visible but never blocking OSS UX.
291
+ That story makes the quiet, command-led public surface coherent: it lets a local workflow remain the primary mental model while acknowledging a growing cloud product.
350
292
 
351
- ## 13. Personas
293
+ ## 12. Principles
352
294
 
353
- *Personas are fictional archetypes informed by Ollama user segments (privacy-conscious developers, ML researchers, local-first SaaS builders), not individual people.*
295
+ 1. **Open models should be practical to run.**
296
+ *UI implication:* make installation, model selection, and API entry points easy to scan.
297
+ 2. **Ownership and privacy remain legible.**
298
+ *UI implication:* explain the local path plainly and avoid making cloud the only visible route.
299
+ 3. **Scale is an extension, not a replacement.**
300
+ *UI implication:* distinguish local capability from optional cloud capacity in layout and copy.
301
+ 4. **Developer actions come before persuasion.**
302
+ *UI implication:* use commands, integrations, and links as primary content.
354
303
 
355
- **Sergey Volkov, 38, Berlin.** Privacy-conscious developer running Ollama on his M3 Max. Avoids cloud APIs for personal data.
304
+ ## 13. Personas
356
305
 
357
- **Aisha Patel, 31, San Francisco.** ML researcher fine-tuning small models. Ollama for inference, custom training elsewhere.
306
+ These are product-surface archetypes inferred from official use cases, not research personas or synthetic satisfaction claims.
358
307
 
359
- **Marcus Davies, 45, London.** Indie SaaS builder shipping a local-first writing tool. Ollama as the AI layer that doesn't require user API keys.
308
+ - **Local-model developer:** wants to install Ollama, run a model, and call it from an app or API without treating a remote service as the default.
309
+ - **Integration builder:** connects a coding agent, editor, or application to open models using the official integrations and libraries.
310
+ - **Cloud-scale team member:** starts with the local workflow and needs larger or parallel cloud capacity for some work.
360
311
 
361
312
  ## 14. States
362
313
 
363
- | State | Treatment |
364
- |---|---|
365
- | **Empty (no models pulled)** | "Pull your first model" CLI snippet |
366
- | **Empty (no projects)** | "Try a model" with library link |
367
- | **Loading (model pulling)** | Per-layer progress with bytes/sec |
368
- | **Loading (inference)** | Per-token streaming visible |
369
- | **Error (model not found)** | Specific. "Model not found. Pull with: ollama pull X" |
370
- | **Error (memory)** | "Insufficient RAM. Try a smaller variant: ollama run llama3:8b" |
371
- | **Success (pull)** | Confirmation + run command snippet |
372
- | **Success (creation)** | Account confirmation + API key |
373
- | **Skeleton (model list)** | Pill placeholders |
374
- | **Disabled (free tier limit)** | Upgrade link |
375
- | **Loading (long pull)** | Persistent progress with ETA |
314
+ No product interaction-state variants are included in this update. The supplied collector recorded `interactionCount: 0` and no observed hover, focus, pressed, disabled, error, dialog, toast, or tab state. A future capture can add only states with selector, surface, raw computed value, and interaction provenance.
376
315
 
377
316
  ## 15. Motion & Easing
378
317
 
379
- | Token | Value | Use |
380
- |---|---|---|
381
- | `motion-instant` | 0ms | Toggle |
382
- | `motion-fast` | 150ms | Hover |
383
- | `motion-standard` | 250ms | Modal |
384
-
385
- Standard cubic-bezier; no bounce. `prefers-reduced-motion: reduce` removes hover transitions.
318
+ Some captured class strings declare color-transition utilities, but no interaction snapshot measured their resulting motion or state. No duration, easing, or motion token is asserted from this evidence.
386
319
 
387
320
  ---
321
+ **Verified:** 2026-07-13
322
+ **Tier 1 sources:** [Ollama homepage](https://ollama.com/) (marketing product surface; raw collector `home`), [Ollama pricing](https://ollama.com/pricing) (marketing product surface; raw collector `surface-2`), [Ollama docs](https://docs.ollama.com/) (documentation chrome only; raw collector `surface-3`), [Ollama’s official open-model narrative](https://ollama.com/blog/all-aboard-open-models), [official repository](https://github.com/ollama/ollama), [Apple SF font documentation](https://developer.apple.com/fonts/).
323
+ **Tier 2 sources:** [getdesign.md/ollama](https://getdesign.md/ollama) lists one community design; [Refero search](https://styles.refero.design/?q=Ollama) was attempted but did not return a fetchable result in this run.
324
+ **Conflicts unresolved:** none
388
325
 
389
- **Verified:** 2026-05-08 (omd:migrate run 42 Apple-tier)
390
- **Tier 1 sources:** ollama.com home + /library (live DOM via playwright — all-pill 9999px chrome, **4-tier height system** {header 40 / hero 52 / Pro 38 / Max 36 / nav 28}, 2-weight discipline (400 default / 500 hero+pricing); Primary `#262626` Ollama Charcoal + Inverted `#fff` on dark hero; Outline `rgba(0,0,0,0.05)`).
391
- **Tier 2 sources:** styles.refero.design / getdesign.md — no record.
392
- **Tier 2 (Philosophy/founders):** Y Combinator (Ollama W21 batch), No Cap Blog (Michael Chiang), Tracxn, Grokipedia.
393
- **Style ref:** `notion`. **Conflicts unresolved:** none. **Earlier addition:** pricing inverted-pill `#fff` 36-38px / 14px·500 + hero weight-500 distinction missed by prior pass.
326
+ Tier 2 supplied no conflicting measured values. SF Pro Rounded remains unresolved (computed-only, no FontFaceSet/source corroboration), rather than a Tier 2 conflict.