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.
- package/.claude/hooks/lib/preferences-parser.cjs +1 -0
- package/.claude/hooks/lib/preferences-writer.cjs +1 -0
- package/.claude/hooks/post-edit-watch.cjs +1 -0
- package/.claude/hooks/session-end-foldin.cjs +1 -0
- package/.claude/hooks/session-state-loader.cjs +1 -0
- package/.claude/hooks/skill-activation.cjs +1 -0
- package/.claude/settings.json +10 -1
- package/.github/assets/logo-bg.png +0 -0
- package/AGENTS.md +20 -1
- package/CHANGELOG.md +482 -0
- package/MIGRATION.md +103 -0
- package/README.ja.md +56 -19
- package/README.ko.md +47 -30
- package/README.md +48 -30
- package/README.zh-TW.md +59 -22
- package/agents/AGENT.md +8 -7
- package/agents/omd-codex-image.md +1 -1
- package/agents/omd-critic.md +6 -7
- package/agents/omd-designer-review.md +1 -1
- package/agents/omd-final-qa.md +1 -1
- package/agents/omd-humanizer.md +38 -0
- package/agents/omd-kr-writer.md +3 -4
- package/agents/omd-locale-adapter.md +12 -16
- package/agents/omd-master.md +24 -19
- package/agents/omd-microcopy.md +1 -1
- package/agents/omd-orchestrator.md +7 -8
- package/agents/omd-slop-auditor.md +31 -0
- package/agents/omd-ux-researcher.md +1 -1
- package/data/reference-fingerprints.json +1995 -38
- package/dist/bin/oh-my-design.js +16 -8
- package/dist/bin/oh-my-design.js.map +1 -1
- package/dist/chunk-UJIHCEYF.js +99 -0
- package/dist/chunk-UJIHCEYF.js.map +1 -0
- package/dist/doctor-LDWSFM3I.js +763 -0
- package/dist/doctor-LDWSFM3I.js.map +1 -0
- package/dist/install-skills-ZZFNJ2II.js +1120 -0
- package/dist/install-skills-ZZFNJ2II.js.map +1 -0
- package/docs/CLI_QUICKSTART.md +157 -0
- package/package.json +25 -4
- package/scripts/postinstall.cjs +5 -4
- package/skills/claude-design/SKILL.md +38 -14
- package/skills/claude-design/references/claude-design-flow.md +11 -11
- package/skills/claude-design/references/codebase-analysis.md +5 -4
- package/skills/omd-final-qa/SKILL.md +1 -1
- package/skills/omd-harness/SKILL.md +51 -50
- package/skills/omd-humanize/SKILL.md +116 -0
- package/skills/omd-humanize/agents/openai.yaml +4 -0
- package/skills/omd-humanize/references/locale-playbooks.md +102 -0
- package/skills/omd-humanize/references/sources.md +11 -0
- package/skills/omd-init/SKILL.md +18 -12
- package/skills/omd-locale-adapter/SKILL.md +58 -91
- package/skills/omd-orchestrator/SKILL.md +11 -5
- package/skills/omd-reference-capture/SKILL.md +80 -26
- package/skills/omd-reference-capture/scripts/PLAYWRIGHT-LICENSE.txt +202 -0
- package/skills/omd-reference-capture/scripts/PLAYWRIGHT-NOTICE.txt +5 -0
- package/skills/omd-reference-capture/scripts/THIRD_PARTY_NOTICES.md +3 -0
- package/skills/omd-reference-capture/scripts/capture-reference-evidence.mjs +159906 -0
- package/skills/omd-slop-audit/SKILL.md +110 -0
- package/skills/omd-slop-audit/agents/openai.yaml +4 -0
- package/skills/omd-slop-audit/references/pattern-catalog.md +96 -0
- package/skills/omd-slop-audit/references/sources.md +24 -0
- package/web/references/104/DESIGN.md +354 -0
- package/web/references/11st/DESIGN.md +197 -316
- package/web/references/29cm/DESIGN.md +297 -393
- package/web/references/42dot/DESIGN.md +390 -0
- package/web/references/8percent/DESIGN.md +438 -0
- package/web/references/ably/DESIGN.md +267 -572
- package/web/references/acer/DESIGN.md +329 -0
- package/web/references/airbnb/DESIGN.md +219 -557
- package/web/references/alipay/DESIGN.md +179 -420
- package/web/references/apple/DESIGN.md +224 -498
- package/web/references/asleep/DESIGN.md +402 -0
- package/web/references/au/DESIGN.md +334 -0
- package/web/references/autopedia/DESIGN.md +382 -0
- package/web/references/aws-cloudscape/DESIGN.md +241 -0
- package/web/references/baemin/DESIGN.md +332 -491
- package/web/references/banksalad/DESIGN.md +269 -180
- package/web/references/barogo/DESIGN.md +416 -0
- package/web/references/beusable/DESIGN.md +464 -0
- package/web/references/bilibili/DESIGN.md +206 -374
- package/web/references/bmw/DESIGN.md +162 -276
- package/web/references/brandi/DESIGN.md +184 -325
- package/web/references/catchtable/DESIGN.md +219 -264
- package/web/references/cgv/DESIGN.md +317 -0
- package/web/references/channeltalk/DESIGN.md +210 -336
- package/web/references/china-airlines/DESIGN.md +291 -0
- package/web/references/cjonstyle/DESIGN.md +453 -0
- package/web/references/class101/DESIGN.md +168 -387
- package/web/references/classum/DESIGN.md +228 -203
- package/web/references/claude/DESIGN.md +242 -479
- package/web/references/clay/DESIGN.md +179 -377
- package/web/references/clickhouse/DESIGN.md +254 -343
- package/web/references/cohere/DESIGN.md +214 -324
- package/web/references/coinone/DESIGN.md +199 -179
- package/web/references/corca/DESIGN.md +414 -0
- package/web/references/coupang/DESIGN.md +205 -475
- package/web/references/cursor/DESIGN.md +240 -381
- package/web/references/dabang/DESIGN.md +248 -213
- package/web/references/dable/DESIGN.md +431 -0
- package/web/references/datarize/DESIGN.md +217 -330
- package/web/references/dealicious/DESIGN.md +402 -0
- package/web/references/drdiary/DESIGN.md +404 -0
- package/web/references/elastic/DESIGN.md +238 -0
- package/web/references/elevenlabs/DESIGN.md +183 -321
- package/web/references/eslite/DESIGN.md +257 -0
- package/web/references/evaair/DESIGN.md +338 -0
- package/web/references/expo/DESIGN.md +238 -331
- package/web/references/familymart-tw/DESIGN.md +254 -0
- package/web/references/ferrari/DESIGN.md +160 -377
- package/web/references/figma/DESIGN.md +197 -451
- package/web/references/fitpet/DESIGN.md +445 -0
- package/web/references/flex/DESIGN.md +170 -253
- package/web/references/framer/DESIGN.md +197 -340
- package/web/references/freee/DESIGN.md +211 -533
- package/web/references/friendliai/DESIGN.md +431 -0
- package/web/references/frip/DESIGN.md +440 -0
- package/web/references/gangnamunni/DESIGN.md +154 -591
- package/web/references/gaudiolab/DESIGN.md +414 -0
- package/web/references/google/DESIGN.md +290 -398
- package/web/references/hashicorp/DESIGN.md +273 -318
- package/web/references/heydealer/DESIGN.md +429 -0
- package/web/references/humanscape/DESIGN.md +433 -0
- package/web/references/hyundai/DESIGN.md +158 -368
- package/web/references/hyundaicard/DESIGN.md +171 -121
- package/web/references/ibm/DESIGN.md +227 -378
- package/web/references/idus/DESIGN.md +450 -0
- package/web/references/igaworks/DESIGN.md +437 -0
- package/web/references/inflearn/DESIGN.md +221 -366
- package/web/references/intuit/DESIGN.md +244 -0
- package/web/references/jandi/DESIGN.md +191 -291
- package/web/references/jobplanet/DESIGN.md +415 -0
- package/web/references/kakao/DESIGN.md +287 -475
- package/web/references/kakaobank/DESIGN.md +220 -521
- package/web/references/kakaogames/DESIGN.md +220 -0
- package/web/references/kakaopay/DESIGN.md +207 -526
- package/web/references/karrot/DESIGN.md +227 -251
- package/web/references/kb-kookmin/DESIGN.md +308 -0
- package/web/references/kbank/DESIGN.md +220 -175
- package/web/references/kmong/DESIGN.md +281 -356
- package/web/references/krds/DESIGN.md +245 -19
- package/web/references/kream/DESIGN.md +224 -359
- package/web/references/kurly/DESIGN.md +211 -533
- package/web/references/lamborghini/DESIGN.md +198 -360
- package/web/references/lguplus/DESIGN.md +259 -0
- package/web/references/likelion/DESIGN.md +283 -0
- package/web/references/line/DESIGN.md +396 -355
- package/web/references/linear.app/DESIGN.md +209 -562
- package/web/references/lotteon/DESIGN.md +386 -0
- package/web/references/lovable/DESIGN.md +255 -349
- package/web/references/makinarocks/DESIGN.md +149 -349
- package/web/references/maum-ai/DESIGN.md +423 -0
- package/web/references/medibloc/DESIGN.md +425 -0
- package/web/references/megabox/DESIGN.md +232 -0
- package/web/references/mercari/DESIGN.md +217 -434
- package/web/references/microsoft/DESIGN.md +234 -388
- package/web/references/mildang/DESIGN.md +411 -0
- package/web/references/millie/DESIGN.md +183 -504
- package/web/references/minimax/DESIGN.md +264 -322
- package/web/references/miricanvas/DESIGN.md +182 -355
- package/web/references/miro/DESIGN.md +234 -232
- package/web/references/mistral.ai/DESIGN.md +231 -314
- package/web/references/mixi/DESIGN.md +234 -0
- package/web/references/moin/DESIGN.md +445 -0
- package/web/references/mongodb/DESIGN.md +219 -316
- package/web/references/musinsa/DESIGN.md +184 -510
- package/web/references/mynavi/DESIGN.md +242 -0
- package/web/references/myrealtrip/DESIGN.md +169 -406
- package/web/references/naver/DESIGN.md +328 -499
- package/web/references/naverwebtoon/DESIGN.md +172 -395
- package/web/references/nhn/DESIGN.md +169 -346
- package/web/references/nhncloud/DESIGN.md +185 -123
- package/web/references/notion/DESIGN.md +271 -475
- package/web/references/nrise/DESIGN.md +417 -0
- package/web/references/ohouse/DESIGN.md +210 -549
- package/web/references/oliveyoung/DESIGN.md +217 -326
- package/web/references/ollama/DESIGN.md +241 -308
- package/web/references/onestore/DESIGN.md +248 -0
- package/web/references/palantir/DESIGN.md +256 -0
- package/web/references/panasonic/DESIGN.md +276 -0
- package/web/references/patternfly/DESIGN.md +259 -0
- package/web/references/payhere/DESIGN.md +438 -0
- package/web/references/pega/DESIGN.md +262 -0
- package/web/references/peoplefund/DESIGN.md +431 -0
- package/web/references/petfriends/DESIGN.md +428 -0
- package/web/references/pinkfong/DESIGN.md +199 -367
- package/web/references/pinterest/DESIGN.md +258 -308
- package/web/references/poya/DESIGN.md +286 -0
- package/web/references/pozalabs/DESIGN.md +438 -0
- package/web/references/protopie/DESIGN.md +419 -0
- package/web/references/qraft/DESIGN.md +448 -0
- package/web/references/quotabook/DESIGN.md +449 -0
- package/web/references/recruit/DESIGN.md +247 -0
- package/web/references/remember/DESIGN.md +202 -396
- package/web/references/resend/DESIGN.md +274 -348
- package/web/references/sakura-internet/DESIGN.md +269 -0
- package/web/references/samsung/DESIGN.md +157 -359
- package/web/references/sandoll/DESIGN.md +445 -0
- package/web/references/sanity/DESIGN.md +241 -375
- package/web/references/scatterlab/DESIGN.md +412 -0
- package/web/references/selectstar/DESIGN.md +439 -0
- package/web/references/servicenow/DESIGN.md +289 -0
- package/web/references/shinhanbank/DESIGN.md +161 -341
- package/web/references/shinhancard/DESIGN.md +208 -319
- package/web/references/sionic/DESIGN.md +454 -0
- package/web/references/sktelecom/DESIGN.md +310 -0
- package/web/references/socar/DESIGN.md +125 -32
- package/web/references/softbank/DESIGN.md +231 -0
- package/web/references/sony/DESIGN.md +234 -0
- package/web/references/soop/DESIGN.md +261 -0
- package/web/references/spacex/DESIGN.md +184 -323
- package/web/references/spotify/DESIGN.md +253 -394
- package/web/references/squeezebits/DESIGN.md +441 -0
- package/web/references/stayfolio/DESIGN.md +422 -0
- package/web/references/stripe/DESIGN.md +212 -491
- package/web/references/supabase/DESIGN.md +244 -316
- package/web/references/tabling/DESIGN.md +415 -0
- package/web/references/taishinbank/DESIGN.md +243 -0
- package/web/references/teamlab/DESIGN.md +240 -0
- package/web/references/teamsparta/DESIGN.md +472 -0
- package/web/references/tellingme/DESIGN.md +392 -0
- package/web/references/tesla/DESIGN.md +244 -427
- package/web/references/thsr/DESIGN.md +284 -0
- package/web/references/thumbtack/DESIGN.md +302 -0
- package/web/references/together.ai/DESIGN.md +257 -304
- package/web/references/toss/DESIGN.md +251 -593
- package/web/references/toss-securities/DESIGN.md +255 -178
- package/web/references/tossbank/DESIGN.md +195 -491
- package/web/references/toyota/DESIGN.md +238 -0
- package/web/references/tving/DESIGN.md +197 -245
- package/web/references/typed/DESIGN.md +413 -0
- package/web/references/uber/DESIGN.md +256 -333
- package/web/references/udn/DESIGN.md +250 -0
- package/web/references/upbit/DESIGN.md +145 -256
- package/web/references/upstage/DESIGN.md +211 -204
- package/web/references/uswds/DESIGN.md +287 -0
- package/web/references/vercel/DESIGN.md +236 -440
- package/web/references/wanted/DESIGN.md +215 -487
- package/web/references/wise/DESIGN.md +223 -231
- package/web/references/wisetracker/DESIGN.md +462 -0
- package/web/references/wooribank/DESIGN.md +245 -0
- package/web/references/yanolja/DESIGN.md +250 -419
- package/web/references/yeogiotte/DESIGN.md +235 -418
- package/web/references/zapier/DESIGN.md +256 -377
- package/web/references/zendesk/DESIGN.md +288 -0
- package/web/references/zigzag/DESIGN.md +200 -621
- package/dist/install-skills-7UUDOLG2.js +0 -734
- package/dist/install-skills-7UUDOLG2.js.map +0 -1
|
@@ -5,266 +5,273 @@ display_name_kr: 업스테이지
|
|
|
5
5
|
country: KR
|
|
6
6
|
category: ai
|
|
7
7
|
homepage: "https://www.upstage.ai"
|
|
8
|
-
primary_color: "#
|
|
8
|
+
primary_color: "#5b52ff"
|
|
9
9
|
logo:
|
|
10
10
|
type: favicon
|
|
11
11
|
slug: "https://www.google.com/s2/favicons?domain=upstage.ai&sz=256"
|
|
12
|
-
verified: "2026-
|
|
12
|
+
verified: "2026-07-13"
|
|
13
13
|
omd: "0.1"
|
|
14
14
|
ds:
|
|
15
15
|
name: Upstage Brand Resource Center
|
|
16
16
|
url: "https://www.upstage.ai/resources/brand-resource-center"
|
|
17
17
|
type: brand
|
|
18
|
-
description: "
|
|
18
|
+
description: "Official distribution point for Upstage logo, product-logo, media-kit, and leadership assets; it does not publish a UI token specification."
|
|
19
19
|
og_image: "https://cdn.prod.website-files.com/6743d5190bb2b52f38e99e37/680a25ee07a17eed6deeff74_OG.avif"
|
|
20
|
+
verification_v2:
|
|
21
|
+
schema: 2
|
|
22
|
+
checked: "2026-07-13"
|
|
23
|
+
surfaces:
|
|
24
|
+
- { id: home, kind: marketing, url: "https://www.upstage.ai/", inspected: "2026-07-13" }
|
|
25
|
+
- { id: api-pricing, kind: public-pricing, url: "https://www.upstage.ai/pricing/api", inspected: "2026-07-13" }
|
|
26
|
+
sources:
|
|
27
|
+
- { id: home-live, kind: product-surface, url: "https://www.upstage.ai/", captured: "2026-07-13" }
|
|
28
|
+
- { id: api-pricing-live, kind: product-surface, url: "https://www.upstage.ai/pricing/api", captured: "2026-07-13" }
|
|
29
|
+
- { id: about-context, kind: official-doc, url: "https://www.upstage.ai/about", captured: "2026-07-13" }
|
|
30
|
+
- { id: studio-context, kind: official-doc, url: "https://www.upstage.ai/products/studio", captured: "2026-07-13" }
|
|
31
|
+
- { id: brand-assets, kind: brand-asset, url: "https://www.upstage.ai/resources/brand-resource-center", captured: "2026-07-13" }
|
|
32
|
+
- { id: geist-license, kind: license, url: "https://github.com/vercel/geist-font", captured: "2026-07-13" }
|
|
33
|
+
conflicts: []
|
|
34
|
+
claims:
|
|
35
|
+
"tokens.colors.canvas": &home { surface_id: home, source_id: home-live, method: live-inspect, captured: "2026-07-13" }
|
|
36
|
+
"tokens.colors.ink": *home
|
|
37
|
+
"tokens.colors.text": *home
|
|
38
|
+
"tokens.colors.text-subtle": *home
|
|
39
|
+
"tokens.colors.action-violet": *home
|
|
40
|
+
"tokens.colors.card-border": &pricing { surface_id: api-pricing, source_id: api-pricing-live, method: live-inspect, captured: "2026-07-13" }
|
|
41
|
+
"tokens.typography.family.ui": *home
|
|
42
|
+
"tokens.typography.family.marketing-display": *home
|
|
43
|
+
"tokens.typography.marketing-display.size": *home
|
|
44
|
+
"tokens.typography.marketing-display.weight": *home
|
|
45
|
+
"tokens.typography.marketing-display.lineHeight": *home
|
|
46
|
+
"tokens.typography.marketing-display.use": *home
|
|
47
|
+
"tokens.typography.section-heading.size": *home
|
|
48
|
+
"tokens.typography.section-heading.weight": *home
|
|
49
|
+
"tokens.typography.section-heading.lineHeight": *home
|
|
50
|
+
"tokens.typography.section-heading.use": *home
|
|
51
|
+
"tokens.typography.body.size": *home
|
|
52
|
+
"tokens.typography.body.weight": *home
|
|
53
|
+
"tokens.typography.body.lineHeight": *home
|
|
54
|
+
"tokens.typography.body.use": *home
|
|
55
|
+
"tokens.typography.action.size": *home
|
|
56
|
+
"tokens.typography.action.weight": *home
|
|
57
|
+
"tokens.typography.action.lineHeight": *home
|
|
58
|
+
"tokens.typography.action.use": *home
|
|
59
|
+
"tokens.spacing.action-y": *home
|
|
60
|
+
"tokens.spacing.action-x": *home
|
|
61
|
+
"tokens.spacing.card": *pricing
|
|
62
|
+
"tokens.spacing.card-end": *pricing
|
|
63
|
+
"tokens.rounded.action": *home
|
|
64
|
+
"tokens.rounded.card": *pricing
|
|
65
|
+
"tokens.components.api-pricing-card.type": *pricing
|
|
66
|
+
"tokens.components.api-pricing-card.bg": *pricing
|
|
67
|
+
"tokens.components.api-pricing-card.border": *pricing
|
|
68
|
+
"tokens.components.api-pricing-card.radius": *pricing
|
|
69
|
+
"tokens.components.api-pricing-card.padding": *pricing
|
|
70
|
+
"tokens.components.api-pricing-card.use": *pricing
|
|
20
71
|
tokens:
|
|
21
|
-
source:
|
|
22
|
-
extracted: "2026-
|
|
72
|
+
source: reconciled
|
|
73
|
+
extracted: "2026-07-13"
|
|
74
|
+
components_harvested: true
|
|
23
75
|
colors:
|
|
24
|
-
primary: "#5b52ff"
|
|
25
|
-
primary-hover: "#1e116e"
|
|
26
|
-
primary-deep: "#281ca5"
|
|
27
|
-
accent: "#d2ff95"
|
|
28
|
-
body: "#70757f"
|
|
29
|
-
heading: "#0a0d14"
|
|
30
|
-
muted: "#6e7191"
|
|
31
76
|
canvas: "#ffffff"
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
border: "#eeeeee"
|
|
38
|
-
border-subtle: "#f7f7fc"
|
|
39
|
-
on-primary: "#ffffff"
|
|
77
|
+
ink: "#0a0d14"
|
|
78
|
+
text: "#52525b"
|
|
79
|
+
text-subtle: "#525866"
|
|
80
|
+
action-violet: "#5b52ff"
|
|
81
|
+
card-border: "#cdd0d5"
|
|
40
82
|
typography:
|
|
41
|
-
family: {
|
|
42
|
-
|
|
43
|
-
section-
|
|
44
|
-
body
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
micro: { size: 12, weight: 400, use: "Legal / micro" }
|
|
49
|
-
spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 24, xl: 32, xxl: 48, section: 64 }
|
|
50
|
-
rounded: { sm: 8, md: 8, lg: 8, full: 9999 }
|
|
51
|
-
shadow:
|
|
52
|
-
none: "none"
|
|
83
|
+
family: { ui: "Geist", marketing-display: "Espeak" }
|
|
84
|
+
marketing-display: { size: 64, weight: 600, lineHeight: 1.10, use: "Public home marketing hero only" }
|
|
85
|
+
section-heading: { size: 48, weight: 500, lineHeight: 1.15, use: "Public marketing section headings" }
|
|
86
|
+
body: { size: 18, weight: 400, lineHeight: 1.60, use: "Public home and API-pricing body copy" }
|
|
87
|
+
action: { size: 16, weight: 500, lineHeight: 1.50, use: "Public CTA controls" }
|
|
88
|
+
spacing: { action-y: 12, action-x: 18, card: 32, card-end: 96 }
|
|
89
|
+
rounded: { action: 8, card: 8 }
|
|
53
90
|
components:
|
|
54
|
-
|
|
55
|
-
card: { type: card, bg: "transparent", fg: "#70757f", radius: 8, use: "Product/solution/customer card; no shadow, inline Learn more link" }
|
|
56
|
-
nav: { type: tab, bg: "transparent", fg: "#0a0d14", radius: 8, use: "Transparent over hero, white below; 5 categories + Try now CTA" }
|
|
57
|
-
components_harvested: true
|
|
91
|
+
api-pricing-card: { type: card, bg: "#ffffff", border: "1px solid #cdd0d5", radius: "8px", padding: "32px 96px 32px 32px", use: "API pricing model card observed on the public pricing surface" }
|
|
58
92
|
---
|
|
59
93
|
|
|
60
|
-
# Upstage —
|
|
94
|
+
# Upstage — Design Reference
|
|
61
95
|
|
|
62
|
-
>
|
|
96
|
+
> **Enterprise AI for document-heavy work.** (Current public-surface reference, observed 2026-07-13)
|
|
63
97
|
|
|
64
98
|
## 1. Visual Theme & Atmosphere
|
|
65
99
|
|
|
66
|
-
Upstage
|
|
67
|
-
|
|
68
|
-
**Atmospheric anchors**:
|
|
69
|
-
- **Plum-violet axis, not blue.** Where most enterprise AI brands default to a corporate blue, Upstage commits to violet primary (`#5B52FF`) on a plum canvas (`#3C043B`) — distinguishable in a sea of cobalt competitors.
|
|
70
|
-
- **Solar yellow-green as scarcity asset.** `#D2FF95` appears only adjacent to the Solar product narrative — never as a default button surface or section background.
|
|
71
|
-
- **One body family, one display face, one swap.** 93% Geist coverage + Espeak-only hero + monospace industry word = three families, three jobs, no overlap.
|
|
72
|
-
- **Type-as-imagery on industry cards.** Each high-stakes industry (Insurance / Healthcare / Manufacturing / Financial Services) presents as a giant industry word on a dark surface — no stock photography, no industry icons.
|
|
73
|
-
- **Binary geometry.** Sharp (0px) for sections, cards, hero, footer; soft (8px) only for pressable controls and a few content chips. Nothing in between.
|
|
74
|
-
|
|
75
|
-
## 2. Color System
|
|
76
|
-
|
|
77
|
-
### Brand
|
|
78
|
-
| Token | Hex | Live source | Role |
|
|
79
|
-
|---|---|---|---|
|
|
80
|
-
| Upstage Violet (primary) | `#5B52FF` | live computed `rgb(91,82,255)` on `.button.is-secondary` × 2 sampled CTAs; 55 element occurrences | Interactive foreground; link; secondary-button text; filled-primary button background variant |
|
|
81
|
-
| Violet pressed | `#1E116E` | `--_sub---spark-library--foreground-interactive-hover` | Hover / pressed state of primary |
|
|
82
|
-
| Violet deep | `#281CA5` | `--elements-webflow-library--secondary--color-1` | Emphasis / filled-button alt |
|
|
83
|
-
| Solar yellow-green | `#D2FF95` | mid-step of `--colors--green-yellow-*` (50 = `#f6ffe5`); live-observed as decorative accent | **Single-use chromatic accent** tied to the Solar product narrative |
|
|
84
|
-
|
|
85
|
-
### Ink (text)
|
|
86
|
-
| Token | Hex | Frequency in DOM | Role |
|
|
87
|
-
|---|---|---|---|
|
|
88
|
-
| Body gray | `#70757F` | **428 elements (dominant text color)** | Default body, paragraph, muted subhead |
|
|
89
|
-
| Near-black | `#0A0D14` | 58 elements | Headings on light surfaces |
|
|
90
|
-
| Muted purple-gray | `#6E7191` | 20 elements | Secondary muted / footnote |
|
|
91
|
-
| White | `#FFFFFF` | 213 elements | Text & UI on dark surfaces |
|
|
92
|
-
| White @50% | `rgba(255,255,255,0.5)` | 14 elements | Muted secondary copy on dark hero |
|
|
93
|
-
|
|
94
|
-
### Surface
|
|
95
|
-
| Token | Hex | Role |
|
|
96
|
-
|---|---|---|
|
|
97
|
-
| Page white | `#FFFFFF` | Default page background |
|
|
98
|
-
| Subtle band | `#F9FAFB` | `--colors--base--subtle` — light section break |
|
|
99
|
-
| Footer near-black | `#191722` | Footer band — *intentionally violet-tinted, not pure `#000`* |
|
|
100
|
-
| Plum decorative | `#3C043B` | `--colors--grey-background` — hero canvas. **Non-obvious choice**: a deep plum named as "grey" in the token system. |
|
|
101
|
-
| Lavender interactive | `#F0ECFD` | `--_sub---spark-library--background--interactive` — active/hover surface |
|
|
102
|
-
| Purple-100 | `#DDE3FF` | `--colors--purple-100` — cool tint for chips / info |
|
|
103
|
-
|
|
104
|
-
### Border
|
|
105
|
-
| Token | Hex | Role |
|
|
106
|
-
|---|---|---|
|
|
107
|
-
| Default hairline | `#EEEEEE` | `--border-color--border-primary` |
|
|
108
|
-
| Neutral subtle | `#F7F7FC` | `--_sub---elements-webflow-library--neutral--200` |
|
|
109
|
-
|
|
110
|
-
### Ladders observed (under-layer)
|
|
111
|
-
Untitled UI primary scale (`#fcfaff 25 / #f9f5ff 50 / #f4ebff 100 / #d6bbfb 300 / #6941c6 700`) and Untitled UI gray scale (`#eaecf0 200 / #475467 600 / #101828 900`) sit underneath the Upstage-namespaced surface tokens. Treat them as inherited primitives, not Upstage decisions.
|
|
112
|
-
|
|
113
|
-
## 3. Typography
|
|
114
|
-
|
|
115
|
-
| Slot | Family | Size / Weight | Live evidence |
|
|
116
|
-
|---|---|---|---|
|
|
117
|
-
| Hero H1 | **Espeak**, Arial, sans-serif | 57.6px / 600 | 3 sampled hero phrases |
|
|
118
|
-
| Hero H1 industry swap word | **monospace** (browser default) | 48px / 600 | 4 industry-word swaps |
|
|
119
|
-
| Section H2 | Geist | ~36-48px / 600 | "High-performance AI built by experts" et al. |
|
|
120
|
-
| Body large | Geist | 18px / 400 | **603 elements (dominant body size)** |
|
|
121
|
-
| Body | Geist | 16px / 400 | 115 elements |
|
|
122
|
-
| Button | Geist | 16-18px / 500 | `.button.is-secondary` + inline arrow CTA |
|
|
123
|
-
| Caption / small | Geist | 14px / 400 | 30 elements |
|
|
124
|
-
| Micro / legal | Geist | 12px / 400 | 23 elements |
|
|
125
|
-
|
|
126
|
-
**Weight discipline** (observed): 400 = 786 elements, 500 = 129 (buttons + nav + emphasised body), 600 = 15 (all headings), 700 = 8 (stat/proof labels). **Six weights are not the system — four are.**
|
|
127
|
-
|
|
128
|
-
**Critical voice rule on type**: the hero rotates `Insurance / Finance / Healthcare / Manufacturing` by changing the *font family* mid-sentence (Espeak → monospace), not the color or weight. Any port that wants to reproduce this rotating-vertical hero must keep the typographic shift as the variable-slot signal.
|
|
129
|
-
|
|
130
|
-
## 4. Radius & Geometry
|
|
131
|
-
|
|
132
|
-
| Value | Frequency | Role |
|
|
133
|
-
|---|---|---|
|
|
134
|
-
| `0px` | 797 elements | Sections, cards, hero, footer, images |
|
|
135
|
-
| `8px` | 134 elements | Buttons, content chips, hero secondary surfaces |
|
|
136
|
-
| `100%` | 5 elements | Avatar / icon circles |
|
|
137
|
-
| `100px` | 1 element | Single pill |
|
|
138
|
-
| `50%` | 1 element | One round element |
|
|
139
|
-
|
|
140
|
-
**Binary rule**: Upstage's geometry encodes pressability. Sharp = layout. 8px = "you can click this." Nothing in between, no `4px / 12px / 16px` middle terms. Token: `--style--radius-8px: 8px`.
|
|
100
|
+
Upstage is a Korean AI company building language models and document-processing engines for work. Its public site frames the offer through Solar models, document intelligence, and Studio workflows for high-stakes industries, rather than as a generic consumer chatbot. The current public expression is a compact, white-led enterprise marketing system: dark `#0A0D14` headings, `#52525B` long-form copy, and `#5B52FF` conversion actions organise the page. The hero is the conspicuous exception: a loaded **Espeak** face appears only in the public home’s large display treatment, while loaded **Geist** carries the rest of the observed marketing and public pricing content. The design’s rhythm comes from restrained, square-to-8px geometry and repeated direct actions, not from a broad decorative palette. Upstage’s own About and Studio pages connect this visual restraint to a practical proposition: making document-heavy workflows more controllable, traceable, and useful for enterprises.
|
|
141
101
|
|
|
142
|
-
|
|
102
|
+
What is distinctive in the evidence:
|
|
103
|
+
|
|
104
|
+
- **A narrow violet action lane.** `#5B52FF` appears on observed filled and outlined calls to action; it is not promoted as a general semantic/status palette.
|
|
105
|
+
- **Marketing display has a bounded job.** Espeak is loaded for the home hero, while Geist is the repeatedly resolved public UI/content family.
|
|
106
|
+
- **Public pricing is calmer than the hero.** The API-pricing surface uses white model cards, `#CDD0D5` borders, and `#525866` supporting text.
|
|
107
|
+
- **Geometry is mostly flat.** Buttons and observed cards use 8px corners; the supplied samples show no general card-shadow system.
|
|
108
|
+
|
|
109
|
+
## 2. Layout & Grid
|
|
110
|
+
|
|
111
|
+
- **Public action scale:** the repeated home filled and outlined action controls use 12px 18px padding; the compact outlined action uses 10px 16px.
|
|
112
|
+
- **Public pricing card:** the captured API-pricing model card uses `32px 96px 32px 32px` padding and a 24px internal gap.
|
|
113
|
+
- **Observed rhythm:** 8, 12, 16, 24, 32, 40, 96, and 128px occur in the collector’s spacing aggregation. This is a frequency record, not a claimed universal spacing scale.
|
|
114
|
+
- **Boundary:** no responsive breakpoint, desktop container maximum, or logged-in application layout is promoted from the supplied capture.
|
|
143
115
|
|
|
144
|
-
|
|
116
|
+
## 3. Color & Typography
|
|
145
117
|
|
|
146
|
-
|
|
118
|
+
### Color tokens
|
|
147
119
|
|
|
148
|
-
-
|
|
149
|
-
-
|
|
150
|
-
-
|
|
151
|
-
-
|
|
120
|
+
- `#FFFFFF` — observed page/card canvas
|
|
121
|
+
- `#0A0D14` — observed dark heading/ink
|
|
122
|
+
- `#52525B` — dominant observed public body-copy tone
|
|
123
|
+
- `#525866` — observed pricing-surface supporting-copy tone
|
|
124
|
+
- `#5B52FF` — observed public action foreground/background and catalog primary color
|
|
125
|
+
- `#CDD0D5` — observed API-pricing card border
|
|
152
126
|
|
|
153
|
-
|
|
127
|
+
The collector also sees isolated browser/default-like blue and red values. They are not assigned a brand or product role because the raw public capture does not establish one.
|
|
154
128
|
|
|
155
|
-
###
|
|
156
|
-
1. **`Try now`** — persistent top-right of nav. Filled violet `#5B52FF` background, white text, 8px radius, weight 500.
|
|
157
|
-
2. **`Try demo`** — hero inline arrow. Transparent background, white text, `→` arrow glyph, 18px / 500.
|
|
158
|
-
3. **`Learn more →`** — repeated inline across every product / solution card. Text-color inherits section surface (white on dark, violet on light), 18px / 500, no chrome.
|
|
159
|
-
4. **`.button.is-secondary`** (e.g. *Developer Console*, *Learn more* on solution cards) — white pill surface, violet text `#5B52FF`, 8px radius, weight 500. 16px.
|
|
129
|
+
### Typography evidence classes
|
|
160
130
|
|
|
161
|
-
|
|
162
|
-
|
|
131
|
+
- **Live public UI/content use — Geist.** The collector records `Geist` as loaded/high confidence, with 626 visible uses across body, actions, navigation-like controls, cards, tabs, and headings, backed by five Google Fonts source URLs. It is the sole general UI-family token. The official Geist project identifies the family and publishes it under SIL Open Font License 1.1; that licence describes the font software, not an Upstage visual-identity licence.
|
|
132
|
+
- **Live public marketing-display use — Espeak.** The collector records `Espeak` as loaded/high confidence for five visible `h1` uses and two Upstage-hosted WOFF2 sources. The observed home hero reaches 64px/600/70.4px. This is a marketing-display token only, not evidence for an authenticated product UI. No public first-party licence terms for the face were found in this update; Upstage’s Brand Resource Center says brand assets and associated intellectual-property rights belong to Upstage.
|
|
133
|
+
- **System-resolved values.** `system-ui` (three observed uses) and `monospace` (one observed hero use) are operating-system families, not Upstage font assets or substitute specimens.
|
|
134
|
+
- **Declared-only assets.** Archivo, Inter, Montserrat, Noto Sans JP, and Noto Sans KR have `@font-face` declarations in the bundle but zero observed visible uses. They stay declared-only and are not machine UI-family tokens.
|
|
135
|
+
- **Measured public styles.** The capture records 48px/500 section headings, 18px/400 body text at 28.8px line height, and 16px/500 actions at 24px line height. These remain public-surface measurements, not a complete product type scale.
|
|
163
136
|
|
|
164
|
-
|
|
165
|
-
Product / solution / customer cards: 8px radius, transparent background, `#70757F` body paragraph, no drop shadow, inline `Learn more →` link as the only interactive affordance.
|
|
137
|
+
## 4. Components
|
|
166
138
|
|
|
167
|
-
###
|
|
168
|
-
Giant industry word (`Insurance` / `Healthcare` / `Manufacturing` / `Financial Services`) at 48px+ as the entire card front. **Typography is the imagery.**
|
|
139
|
+
### Public primary action
|
|
169
140
|
|
|
170
|
-
|
|
141
|
+
**Default**
|
|
142
|
+
- Background: `#5B52FF`
|
|
143
|
+
- Text: `#FFFFFF`
|
|
144
|
+
- Border: `1px solid #5B52FF`
|
|
145
|
+
- Radius: `8px`
|
|
146
|
+
- Padding: `12px 18px`
|
|
147
|
+
- Font: `16px / 500`
|
|
148
|
+
- Use: public filled conversion action on the home surface; evidence `home::[data-omd-capture="7"]`
|
|
171
149
|
|
|
172
|
-
|
|
150
|
+
### Public secondary action
|
|
173
151
|
|
|
174
|
-
|
|
152
|
+
**Default**
|
|
153
|
+
- Background: `#FFFFFF`
|
|
154
|
+
- Text: `#5B52FF`
|
|
155
|
+
- Border: `1px solid #5B52FF`
|
|
156
|
+
- Radius: `8px`
|
|
157
|
+
- Padding: `12px 18px`
|
|
158
|
+
- Font: `16px / 500`
|
|
159
|
+
- Use: public outlined conversion action on the home surface; evidence `home::[data-omd-capture="8"]`
|
|
175
160
|
|
|
176
|
-
|
|
177
|
-
- **Violet `#5B52FF` on white** (secondary-button text) ≈ 5.2:1 — passes AA comfortably.
|
|
178
|
-
- **White on plum `#3C043B`** = ≥10:1 — strong pass for hero copy.
|
|
179
|
-
- **White @ 50% on plum hero** = ≈5:1 — at AA edge; acceptable for ≥18px text but borderline for finer hero subhead at smaller weights. Flagged as observed-as-shipped trade-off, not a guideline.
|
|
180
|
-
- **No landmark / role inventory verified** in this CDP pass — `<header>`, `<footer>`, `<nav>` are used semantically (positive), but a deeper axe-style audit is out of scope.
|
|
161
|
+
### API pricing card
|
|
181
162
|
|
|
182
|
-
|
|
163
|
+
**Default**
|
|
164
|
+
- Background: `#FFFFFF`
|
|
165
|
+
- Text: `#52525B`
|
|
166
|
+
- Border: `1px solid #CDD0D5`
|
|
167
|
+
- Radius: `8px`
|
|
168
|
+
- Padding: `32px 96px 32px 32px`
|
|
169
|
+
- Font: `18px / 400`
|
|
170
|
+
- Use: public API-pricing model card; evidence `surface-2::#solar-pro-3`
|
|
183
171
|
|
|
184
|
-
|
|
172
|
+
### Public model tab
|
|
185
173
|
|
|
186
|
-
**
|
|
174
|
+
**Current item as captured**
|
|
175
|
+
- Background: `#FFFFFF`
|
|
176
|
+
- Text: `#0A0D14`
|
|
177
|
+
- Border: `1px solid #E2E4E9`
|
|
178
|
+
- Radius: `8px`
|
|
179
|
+
- Padding: `8px 16px`
|
|
180
|
+
- Font: `18px / 500`
|
|
181
|
+
- Use: currently selected model tab on public API pricing; evidence `surface-2::[data-omd-capture="5"]`, class `w--current`
|
|
182
|
+
|
|
183
|
+
Only static defaults/current markup are recorded. The bundle has `interactionCount: 0` and no interaction records, so hover, focus, pressed, disabled, menu, dialog, form, and tab-transition variants are intentionally omitted. Raw selector fragments marked `state-pressed` are not promoted because the summary does not corroborate an interaction run.
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
**Verified:** 2026-07-13
|
|
187
|
+
**Tier 1 sources:** `https://www.upstage.ai/` (public marketing), `https://www.upstage.ai/pricing/api` (public API-pricing), `https://www.upstage.ai/about` (corporate context), `https://www.upstage.ai/products/studio` (public product context), `https://www.upstage.ai/resources/brand-resource-center` (official brand-asset ownership), `https://github.com/vercel/geist-font` (official Geist family and SIL OFL 1.1 licence)
|
|
188
|
+
**Tier 2 sources:** `https://getdesign.md/upstage` (attempted; built-in web open safe-open failure), `https://styles.refero.design/?q=upstage` (attempted; built-in web open safe-open failure), web search for both catalog names (no Upstage record returned)
|
|
189
|
+
**Conflicts unresolved:** none
|
|
190
|
+
|
|
191
|
+
The prior `#3C043B` plum / `#D2FF95` Solar-accent palette, 2025 font counts, generic card claim, inferred motion timing, and unbounded product claims are not supported by the supplied 2026 capture and were removed rather than carried forward.
|
|
192
|
+
|
|
193
|
+
## 5. Elevation
|
|
187
194
|
|
|
188
|
-
|
|
189
|
-
- *Build the AI. Ship the workflow. We bring the model.*
|
|
190
|
-
- *Enterprise-grade Solar. Deploy where your data lives.*
|
|
191
|
-
- *One model. Four industries. Production-ready.*
|
|
195
|
+
The observed filled/outlined actions and API-pricing cards have `box-shadow: none`. A currently selected public pricing tab has a local `0px 2px 3px rgba(0,0,0,0.06)` shadow, but it is not promoted as a general elevation token or a tab-interaction rule.
|
|
192
196
|
|
|
193
|
-
|
|
197
|
+
## 6. Imagery & Illustration
|
|
194
198
|
|
|
195
|
-
|
|
199
|
+
- The public home and product pages use product screenshots and workflow/process imagery to explain document intelligence, Solar, and Studio. They are marketing evidence, not a reusable application-image component specification.
|
|
200
|
+
- The Brand Resource Center distributes logo, product-logo, media-kit, and leadership assets. Its ownership statement is an asset/IP boundary, not permission to reproduce those binaries.
|
|
201
|
+
- No repeated crop ratio, overlay rule, illustration style, or image-frame token is established by the supplied capture.
|
|
196
202
|
|
|
197
|
-
|
|
203
|
+
## 7. Iconography
|
|
198
204
|
|
|
199
|
-
|
|
205
|
+
The capture identifies ordinary links, buttons, and product imagery but no named icon library, icon-stroke rule, or reusable icon-size scale. No icon token is inferred.
|
|
200
206
|
|
|
201
|
-
##
|
|
207
|
+
## 8. Motion
|
|
202
208
|
|
|
203
|
-
|
|
209
|
+
No duration, easing, transition, scroll, or interaction sequence was captured. Motion is intentionally undocumented instead of inferred from Webflow classes or from the static pricing-tab markup.
|
|
204
210
|
|
|
205
|
-
|
|
206
|
-
- **AI/ML engineer** — practitioner evaluating Solar models for production. Comes in via Products → Solar Pro 3 → Developer Console, leaves via Documentation. Cares about: benchmark numbers, pricing per token, latency, fine-tuning paths.
|
|
207
|
-
- **Procurement / partnership lead** — coming in via Partners / Public tenders. Cares about: business credentials (KR business-info disclosure), Newsroom signals, certifications.
|
|
211
|
+
## 9. Accessibility
|
|
208
212
|
|
|
209
|
-
`
|
|
213
|
+
- `#0A0D14` on `#FFFFFF` and `#5B52FF` on `#FFFFFF` are observed public text/action pairings; implementations should test each exact size and weight rather than treating this reference as an accessibility audit.
|
|
214
|
+
- The supplied capture does not establish focus-visible, keyboard, disabled, error, dialog, or menu states. Provide accessible behavior in an implementation without claiming it is an observed Upstage state.
|
|
215
|
+
- Geist has live FontFaceSet/source corroboration. Espeak is live only in the observed marketing hero; declared-only and system families must not be rendered as Upstage UI-family substitutes.
|
|
210
216
|
|
|
211
|
-
##
|
|
217
|
+
## 10. Voice & Tone
|
|
212
218
|
|
|
213
|
-
|
|
214
|
-
2. **Do not import drop-shadow card chrome.** Upstage achieves depth via surface-color contrast and hairline borders. Adding `box-shadow: 0 8px 24px rgba(0,0,0,0.08)` will read as a different system entirely.
|
|
215
|
-
3. **Do not soften the binary radius.** Adding `4px` / `12px` / `16px` middle terms erases the layout-vs-pressable distinction.
|
|
216
|
-
4. **Do not over-saturate the Solar yellow-green.** `#D2FF95` works *because* it appears once, near the Solar narrative. Repeating it as a default highlight color cheapens it.
|
|
217
|
-
5. **Do not default to blue.** Cobalt primary is the enterprise-AI cliche Upstage is consciously avoiding. If porting, stay on the violet-plum axis or pick a different non-blue.
|
|
218
|
-
6. **Do not center-align the hero.** Left-aligned hero with the typographic-swap industry word is the brand-defining composition.
|
|
219
|
+
**Voice adjectives:** precise · enterprise-ready · workflow-oriented
|
|
219
220
|
|
|
220
|
-
|
|
221
|
+
| Do | Don't |
|
|
222
|
+
|---|---|
|
|
223
|
+
| Start from a document-heavy or high-stakes workflow. | Lead with an abstract AI-superlative detached from work. |
|
|
224
|
+
| Connect a model or agent to control, traceability, and deployment context. | Claim a capability without describing its operational setting. |
|
|
225
|
+
| Use concise, direct conversion labels. | Inflate marketing copy with invented benchmark or customer claims. |
|
|
226
|
+
| Separate public product promises from unobserved logged-in UI behavior. | Treat a marketing page as proof of a complete product design system. |
|
|
221
227
|
|
|
222
|
-
|
|
223
|
-
- **Live capture, Tier-1 brand surface**: `https://www.upstage.ai/resources/brand-resource-center` — HTTP 200, H1 "Brand Resource Center", categories Brand Identity / Product Identity / Media kit / Our leadership, asset distribution only (no token specs). Captured 2026-05-15. Artifact: `_brand-resource-center.json`.
|
|
224
|
-
- **Tier-1 negative**: `design.upstage.ai`, `brand.upstage.ai`, `www.upstage.ai/brand`, `www.upstage.ai/brand-resources` — all 000/404 (verified 2026-05-15 via curl).
|
|
225
|
-
- **Tier-1 codebase negative**: `github.com/UpstageAI` — 12 public repos, all AI/research/cookbook (`UpstageAI/cookbook`, `UpstageAI/Gym`, `UpstageAI/mcp-upstage`, `UpstageAI/opencode`, `UpstageAI/solar-prompt-cookbook`, `UpstageAI/vllm`, …). **Zero design-system / Storybook / token-library repo** as of 2026-05-15.
|
|
226
|
-
- **Tier-2 indexes**: `getdesign.md/upstage` → 200 but no curated entry; `styles.refero.design/?q=upstage` → 200 search shell, no result cards. Both verified 2026-05-15.
|
|
227
|
-
- **Business factual**: `https://www.upstage.ai/resources/brand-resource-center` footer block — KR-mandated business-information disclosure (CEO, registration number, address) reproduced as factual reference, not promotional.
|
|
228
|
+
These are source-derived communication characteristics, not permission to reuse Upstage copy verbatim.
|
|
228
229
|
|
|
229
|
-
##
|
|
230
|
+
## 11. Brand Narrative
|
|
230
231
|
|
|
231
|
-
|
|
232
|
-
**Verification method**: live CDP :9222 + Tier 1/2 URL probes + GitHub org enumeration
|
|
233
|
-
**Live-inspect proof**: `references/upstage/assets/_reference/.live-inspect-proof.json` (8 raw_samples, ≥5 required floor)
|
|
234
|
-
**Confidence per section**:
|
|
235
|
-
- §1 Visual theme & §2 Color & §3 Typography & §4 Radius & §5 Elevation & §7 Interactive: **High** (live computed-style evidence)
|
|
236
|
-
- §6 Spacing: **Medium** (no `--space-*` ladder exposed; observations are visual not token-derived)
|
|
237
|
-
- §8 Motion: **Low** — single-pass CDP did not capture transition tokens; flagged UPDATE
|
|
238
|
-
- §9 A11y: **Medium** — contrast computed, but no landmark/role audit run
|
|
239
|
-
- §10 Voice: **High** (analyst characterisation only — no verbatim reproduction)
|
|
240
|
-
- §11 Brand narrative: **High** for HQ / CEO / registration / product names (sourced from public footer); **Low** for funding/headcount/founding-year (not verified this pass)
|
|
241
|
-
- §12 Personas: **Low** (inferred — `[FILL IN]` required before product reuse)
|
|
242
|
-
- §13 Anti-patterns: **High** (derived from live evidence)
|
|
232
|
+
Upstage’s first-party About page says the company was founded in 2020 and builds intelligence for the future of work through language models and document-processing engines. Its founding story explains the name as helping companies move “up” to the stage of AI and describes the initial motivation as making advanced AI practical for organizations with data and IT teams. The current public site presents Solar, Document Parse, Information Extract, Studio, and AI Space, with industry framing for insurance, healthcare, manufacturing, and financial services.
|
|
243
233
|
|
|
244
|
-
|
|
245
|
-
1. Tier-1 official DS = **partial-positive** (asset distribution surface exists; token specification does not).
|
|
246
|
-
2. Tier-2 indexes both empty for `upstage` — consistent with the systemic KR-coverage gap.
|
|
247
|
-
3. Espeak display face is a proprietary commissioned typeface — reference-only; substitute with a tonally similar open display in any derivative work.
|
|
248
|
-
4. Solar yellow-green `#D2FF95` is a single-use chromatic accent — repeating it broadly will read as a different brand.
|
|
249
|
-
5. The rotating-industry hero word ships as a **typographic shift (monospace mid-sentence)**, not a color or weight shift — preserve that gesture or the hero composition breaks.
|
|
250
|
-
6. Motion tokens and component-state coverage incomplete — UPDATE pass recommended on a product detail page (e.g. `/products/solar-pro-3`) and Documentation surface.
|
|
234
|
+
The current evolution is toward document workflows that can be designed, deployed, and operated with visibility, control, governance, review, and traceability. Studio’s public page makes that product direction explicit while the About page supplies company context. Neither page is treated as evidence for private application visual tokens.
|
|
251
235
|
|
|
252
|
-
|
|
236
|
+
## 12. Principles
|
|
237
|
+
|
|
238
|
+
1. **Make work context explicit.** Frame the value around documents, operational control, and the environment where a model is deployed. *UI implication:* keep public claims tied to an identifiable workflow rather than generic capability badges.
|
|
239
|
+
2. **Reserve violet for conversion.** `#5B52FF` is observed on the public action treatments. *UI implication:* do not expand it into unsupported product status meanings.
|
|
240
|
+
3. **Use typography by source domain.** Geist is the loaded public UI/content family; Espeak is the bounded marketing display face. *UI implication:* do not use the hero face as a general product-app default.
|
|
241
|
+
4. **Preserve evidence boundaries.** Marketing, public pricing, corporate narrative, asset distribution, and unobserved documentation/app surfaces have different evidentiary roles. *UI implication:* do not merge their claims into a fictional unified component library.
|
|
242
|
+
|
|
243
|
+
## 13. Personas
|
|
244
|
+
|
|
245
|
+
Upstage’s public pages identify stakeholder groups without supplying formal user research or demographics. This reference preserves only those named functional contexts:
|
|
246
|
+
|
|
247
|
+
- **Document-workflow teams:** use Studio to design, deploy, and operate document-oriented agents with review and governance.
|
|
248
|
+
- **Enterprise technology and operations leaders:** evaluate deployment, traceability, security, and controlled access in high-stakes workflows.
|
|
249
|
+
- **AI/API builders:** evaluate Solar and document-intelligence services through public pricing and developer-oriented conversion paths.
|
|
250
|
+
|
|
251
|
+
No fictional names, demographic details, or unverified motivations are added.
|
|
252
|
+
|
|
253
|
+
## 14. States
|
|
254
|
+
|
|
255
|
+
No loading, empty, success, error, disabled, focus, or validation state is documented. The API-pricing capture contains a static current tab and inactive tab markup, but the zero-interaction bundle does not establish behavior or transitions; it is therefore not a behavioral state specification.
|
|
256
|
+
|
|
257
|
+
## 15. Motion & Easing
|
|
258
|
+
|
|
259
|
+
No motion or easing values were captured. Preserve that absence rather than assigning default curves or durations.
|
|
253
260
|
|
|
254
261
|
## 16. Do's and Don'ts
|
|
255
262
|
|
|
256
263
|
### Do
|
|
257
|
-
|
|
258
|
-
-
|
|
259
|
-
-
|
|
260
|
-
-
|
|
261
|
-
-
|
|
262
|
-
-
|
|
264
|
+
|
|
265
|
+
- Use the observed white / dark-ink public-surface foundation with `#5B52FF` reserved for conversion actions.
|
|
266
|
+
- Keep Geist as the loaded general public UI/content family and confine Espeak to the verified public marketing-display context.
|
|
267
|
+
- Use the 8px action/card geometry only where the public evidence establishes it.
|
|
268
|
+
- Keep public pricing-card claims separate from marketing, corporate, documentation, and logged-in product UI claims.
|
|
269
|
+
- Retain selector and surface provenance when reusing a documented component pattern.
|
|
263
270
|
|
|
264
271
|
### Don't
|
|
265
|
-
|
|
266
|
-
-
|
|
267
|
-
-
|
|
268
|
-
-
|
|
269
|
-
-
|
|
270
|
-
-
|
|
272
|
+
|
|
273
|
+
- Reintroduce the prior plum or Solar-lime palette as a current token without fresh source evidence.
|
|
274
|
+
- Present Archivo, Inter, Montserrat, Noto Sans JP/KR, `system-ui`, or `monospace` as an Upstage UI-family token.
|
|
275
|
+
- Invent hover, focus, pressed, disabled, dialog, or form variants from the uncorroborated state fragments.
|
|
276
|
+
- Treat the Brand Resource Center’s asset ownership notice as a licence to redistribute logos, photographs, or the Espeak face.
|
|
277
|
+
- Infer an authenticated product design system from these public surfaces.
|