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
|
@@ -8,420 +8,345 @@ primary_color: "#92fa72"
|
|
|
8
8
|
logo:
|
|
9
9
|
type: favicon
|
|
10
10
|
slug: "https://www.google.com/s2/favicons?domain=kmong.com&sz=128"
|
|
11
|
-
verified: "2026-
|
|
11
|
+
verified: "2026-07-13"
|
|
12
12
|
added: "2026-06-09"
|
|
13
13
|
omd: "0.1"
|
|
14
|
+
verification_v2:
|
|
15
|
+
schema: 2
|
|
16
|
+
checked: "2026-07-13"
|
|
17
|
+
surfaces:
|
|
18
|
+
- { id: marketplace-home, kind: public-marketplace, url: "https://kmong.com/", inspected: "2026-07-13" }
|
|
19
|
+
- { id: marketplace-category, kind: public-marketplace, url: "https://kmong.com/category/1", inspected: "2026-07-13" }
|
|
20
|
+
sources:
|
|
21
|
+
- { id: home-capture, kind: product-surface, url: "https://kmong.com/", captured: "2026-07-13" }
|
|
22
|
+
- { id: category-capture, kind: product-surface, url: "https://kmong.com/category/1", captured: "2026-07-13" }
|
|
23
|
+
- { id: company-context, kind: official-doc, url: "https://company.kmong.com/", captured: "2026-07-13" }
|
|
24
|
+
- { id: font-design, kind: official-doc, url: "https://github.com/orioncactus/pretendard/blob/main/packages/pretendard/docs/en/README.md", captured: "2026-07-13" }
|
|
25
|
+
- { id: font-license, kind: license, url: "https://github.com/orioncactus/pretendard/blob/main/LICENSE", captured: "2026-07-13" }
|
|
26
|
+
conflicts: []
|
|
27
|
+
claims:
|
|
28
|
+
"tokens.colors.canvas": &home { surface_id: marketplace-home, source_id: home-capture, method: computed-style, captured: "2026-07-13" }
|
|
29
|
+
"tokens.colors.ink": *home
|
|
30
|
+
"tokens.colors.heading": *home
|
|
31
|
+
"tokens.colors.muted": *home
|
|
32
|
+
"tokens.colors.hairline": *home
|
|
33
|
+
"tokens.colors.control-border": *home
|
|
34
|
+
"tokens.colors.primary": *home
|
|
35
|
+
"tokens.colors.on-primary": *home
|
|
36
|
+
"tokens.colors.header-action": *home
|
|
37
|
+
"tokens.colors.on-header-action": *home
|
|
38
|
+
"tokens.colors.category-surface": &category { surface_id: marketplace-category, source_id: category-capture, method: computed-style, captured: "2026-07-13" }
|
|
39
|
+
"tokens.colors.category-border": *category
|
|
40
|
+
"tokens.typography.family.ui": *home
|
|
41
|
+
"tokens.typography.marketplace-body.size": *home
|
|
42
|
+
"tokens.typography.marketplace-body.weight": *home
|
|
43
|
+
"tokens.typography.marketplace-body.lineHeight": *home
|
|
44
|
+
"tokens.typography.marketplace-body.use": *home
|
|
45
|
+
"tokens.typography.header-action.size": *home
|
|
46
|
+
"tokens.typography.header-action.weight": *home
|
|
47
|
+
"tokens.typography.header-action.lineHeight": *home
|
|
48
|
+
"tokens.typography.header-action.use": *home
|
|
49
|
+
"tokens.typography.hero.size": *home
|
|
50
|
+
"tokens.typography.hero.weight": *home
|
|
51
|
+
"tokens.typography.hero.lineHeight": *home
|
|
52
|
+
"tokens.typography.hero.use": *home
|
|
53
|
+
"tokens.typography.search.size": *home
|
|
54
|
+
"tokens.typography.search.weight": *home
|
|
55
|
+
"tokens.typography.search.lineHeight": *home
|
|
56
|
+
"tokens.typography.search.use": *home
|
|
57
|
+
"tokens.typography.category-heading.size": *category
|
|
58
|
+
"tokens.typography.category-heading.weight": *category
|
|
59
|
+
"tokens.typography.category-heading.lineHeight": *category
|
|
60
|
+
"tokens.typography.category-heading.use": *category
|
|
61
|
+
"tokens.spacing.xxs": *home
|
|
62
|
+
"tokens.spacing.sm": *home
|
|
63
|
+
"tokens.spacing.md": *home
|
|
64
|
+
"tokens.spacing.base": *home
|
|
65
|
+
"tokens.spacing.lg": *home
|
|
66
|
+
"tokens.spacing.xl": *home
|
|
67
|
+
"tokens.spacing.xxl": *category
|
|
68
|
+
"tokens.rounded.square": *home
|
|
69
|
+
"tokens.rounded.primary-cta": *home
|
|
70
|
+
"tokens.rounded.control": *home
|
|
71
|
+
"tokens.rounded.category-panel": *category
|
|
72
|
+
"tokens.rounded.home-search": *home
|
|
73
|
+
"tokens.rounded.category-search": *category
|
|
74
|
+
"tokens.shadow.home-search": *home
|
|
75
|
+
"tokens.shadow.category-search": *category
|
|
76
|
+
"tokens.components.home-primary-cta.type": *home
|
|
77
|
+
"tokens.components.home-primary-cta.bg": *home
|
|
78
|
+
"tokens.components.home-primary-cta.fg": *home
|
|
79
|
+
"tokens.components.home-primary-cta.radius": *home
|
|
80
|
+
"tokens.components.home-primary-cta.padding": *home
|
|
81
|
+
"tokens.components.home-primary-cta.height": *home
|
|
82
|
+
"tokens.components.home-primary-cta.font": *home
|
|
83
|
+
"tokens.components.home-primary-cta.states": *home
|
|
84
|
+
"tokens.components.home-primary-cta.use": *home
|
|
85
|
+
"tokens.components.header-action.type": *home
|
|
86
|
+
"tokens.components.header-action.bg": *home
|
|
87
|
+
"tokens.components.header-action.fg": *home
|
|
88
|
+
"tokens.components.header-action.radius": *home
|
|
89
|
+
"tokens.components.header-action.height": *home
|
|
90
|
+
"tokens.components.header-action.font": *home
|
|
91
|
+
"tokens.components.header-action.states": *home
|
|
92
|
+
"tokens.components.header-action.use": *home
|
|
93
|
+
"tokens.components.home-search.type": *home
|
|
94
|
+
"tokens.components.home-search.bg": *home
|
|
95
|
+
"tokens.components.home-search.fg": *home
|
|
96
|
+
"tokens.components.home-search.border": *home
|
|
97
|
+
"tokens.components.home-search.radius": *home
|
|
98
|
+
"tokens.components.home-search.padding": *home
|
|
99
|
+
"tokens.components.home-search.height": *home
|
|
100
|
+
"tokens.components.home-search.font": *home
|
|
101
|
+
"tokens.components.home-search.states": *home
|
|
102
|
+
"tokens.components.home-search.use": *home
|
|
103
|
+
"tokens.components.home-outline-cta.type": *home
|
|
104
|
+
"tokens.components.home-outline-cta.bg": *home
|
|
105
|
+
"tokens.components.home-outline-cta.fg": *home
|
|
106
|
+
"tokens.components.home-outline-cta.border": *home
|
|
107
|
+
"tokens.components.home-outline-cta.radius": *home
|
|
108
|
+
"tokens.components.home-outline-cta.padding": *home
|
|
109
|
+
"tokens.components.home-outline-cta.height": *home
|
|
110
|
+
"tokens.components.home-outline-cta.font": *home
|
|
111
|
+
"tokens.components.home-outline-cta.states": *home
|
|
112
|
+
"tokens.components.home-outline-cta.use": *home
|
|
113
|
+
"tokens.components.category-filter-control.type": *category
|
|
114
|
+
"tokens.components.category-filter-control.bg": *category
|
|
115
|
+
"tokens.components.category-filter-control.fg": *category
|
|
116
|
+
"tokens.components.category-filter-control.border": *category
|
|
117
|
+
"tokens.components.category-filter-control.radius": *category
|
|
118
|
+
"tokens.components.category-filter-control.padding": *category
|
|
119
|
+
"tokens.components.category-filter-control.height": *category
|
|
120
|
+
"tokens.components.category-filter-control.font": *category
|
|
121
|
+
"tokens.components.category-filter-control.states": *category
|
|
122
|
+
"tokens.components.category-filter-control.use": *category
|
|
123
|
+
"tokens.components.category-panel.type": *category
|
|
124
|
+
"tokens.components.category-panel.bg": *category
|
|
125
|
+
"tokens.components.category-panel.radius": *category
|
|
126
|
+
"tokens.components.category-panel.padding": *category
|
|
127
|
+
"tokens.components.category-panel.font": *category
|
|
128
|
+
"tokens.components.category-panel.use": *category
|
|
14
129
|
tokens:
|
|
15
|
-
source:
|
|
16
|
-
extracted: "2026-
|
|
17
|
-
|
|
130
|
+
source: reconciled
|
|
131
|
+
extracted: "2026-07-13"
|
|
132
|
+
note: "Only selector-backed values from the supplied public marketplace capture are tokens. Home and category observations remain route-local; no logged-in, checkout, support-doc, or interaction state is inferred."
|
|
18
133
|
colors:
|
|
19
|
-
primary: "#92fa72"
|
|
20
|
-
primary-deep: "#5dd877"
|
|
21
|
-
primary-tint: "#e1f5dc"
|
|
22
|
-
mint: "#27e7b7"
|
|
23
134
|
canvas: "#ffffff"
|
|
24
|
-
heading: "#212224"
|
|
25
135
|
ink: "#000000"
|
|
26
|
-
|
|
136
|
+
heading: "#212224"
|
|
137
|
+
muted: "#555969"
|
|
27
138
|
hairline: "#f2f3f7"
|
|
28
|
-
border: "#c8cad2"
|
|
29
|
-
|
|
30
|
-
blue: "#4b94fa"
|
|
31
|
-
blue-deep: "#116ad4"
|
|
32
|
-
blue-tint: "#ebf4ff"
|
|
33
|
-
red: "#ff402b"
|
|
139
|
+
control-border: "#c8cad2"
|
|
140
|
+
primary: "#92fa72"
|
|
34
141
|
on-primary: "#212224"
|
|
142
|
+
header-action: "#212224"
|
|
143
|
+
on-header-action: "#ffffff"
|
|
144
|
+
category-surface: "#fafafc"
|
|
145
|
+
category-border: "#e4e5ed"
|
|
35
146
|
typography:
|
|
36
|
-
family: {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 20, xl: 24, xxl: 40, section: 76 }
|
|
45
|
-
rounded: { sm: 4, md: 11, lg: 27, full: 9999 }
|
|
147
|
+
family: { ui: "Pretendard" }
|
|
148
|
+
marketplace-body: { size: 16, weight: 400, lineHeight: 1.50, use: "Repeated public marketplace body, card, and list sample" }
|
|
149
|
+
header-action: { size: 14, weight: 500, lineHeight: 1.43, use: "Public home/category header action" }
|
|
150
|
+
hero: { size: 40, weight: 700, lineHeight: 1.30, use: "Public home headline" }
|
|
151
|
+
search: { size: 20, weight: 400, lineHeight: 1.40, use: "Public home search input" }
|
|
152
|
+
category-heading: { size: 36, weight: 700, lineHeight: 1.22, use: "Public category-page heading sample" }
|
|
153
|
+
spacing: { xxs: 2, sm: 8, md: 12, base: 16, lg: 20, xl: 24, xxl: 32 }
|
|
154
|
+
rounded: { square: 0, primary-cta: 4, control: 8, category-panel: 12, home-search: 36, category-search: 24 }
|
|
46
155
|
shadow:
|
|
47
|
-
|
|
48
|
-
|
|
156
|
+
home-search: "rgba(0,0,0,0.1) 0px 0px 20px 0px"
|
|
157
|
+
category-search: "rgba(0,0,0,0.06) 0px 0px 8px 0px"
|
|
49
158
|
components:
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
badge-mint: { type: badge, bg: "#e1f5dc", fg: "#5dd877", radius: "11px", font: "10px / 700", use: "Promo / new tag, green-tint on deep green text" }
|
|
58
|
-
nav-bar: { type: tab, bg: "#ffffff", fg: "#212224", font: "16px / 400", use: "Top header 76px, white surface, category nav row", active: "2px bottom border #212224" }
|
|
59
|
-
avatar-pro: { type: avatar, bg: "#f2f3f7", radius: "9999px", use: "Expert/seller profile circle, hairline fill" }
|
|
159
|
+
home-primary-cta: { type: button, bg: "#92fa72", fg: "#212224", radius: "4px", padding: "0px 24px", height: "52px", font: "16px / 500 Pretendard", states: "default only; no interaction state captured", use: "Public home CTA, selector home::[data-omd-capture=143]" }
|
|
160
|
+
header-action: { type: button, bg: "#212224", fg: "#ffffff", radius: "8px", height: "36px", font: "14px / 500 Pretendard", states: "default only; no interaction state captured", use: "Public marketplace header action, selector home::[data-omd-capture=6]" }
|
|
161
|
+
home-search: { type: input, bg: "#ffffff", fg: "#212224", border: "1px solid #c8cad2", radius: "36px", padding: "0px 32px", height: "64px", font: "20px / 400 Pretendard", states: "default only; no interaction state captured", use: "Public home search shell/input, selectors home::form and home::[data-omd-capture=7]" }
|
|
162
|
+
home-outline-cta: { type: button, bg: "#ffffff", fg: "#212224", border: "1px solid #c8cad2", radius: "8px", padding: "0px 24px", height: "52px", font: "16px / 500 Pretendard", states: "default only; no interaction state captured", use: "Public home outlined CTA, selector home::[data-omd-capture=145]" }
|
|
163
|
+
category-filter-control: { type: button, bg: "#ffffff", fg: "#212224", border: "1px solid #e4e5ed", radius: "8px", padding: "0px 12px", height: "36px", font: "14px / 400 Pretendard", states: "default only; no interaction state captured", use: "Public category filter control, selector surface-3::[data-omd-capture=93]" }
|
|
164
|
+
category-panel: { type: card, bg: "#fafafc", radius: "12px", padding: "32px 24px", font: "16px / 400 Pretendard", use: "Public category-page panel, selector surface-3::article" }
|
|
165
|
+
components_harvested: true
|
|
60
166
|
---
|
|
61
167
|
|
|
62
|
-
# Design System Inspiration of Kmong
|
|
168
|
+
# Design System Inspiration of Kmong (크몽)
|
|
63
169
|
|
|
64
170
|
## 1. Visual Theme & Atmosphere
|
|
65
171
|
|
|
66
|
-
Kmong
|
|
67
|
-
|
|
68
|
-
The typography is set entirely in **Pretendard**, the de-facto Korean web sans that renders Hangul and Latin with even rhythm and excellent legibility at small sizes. Headlines run heavy (weight 700) and tight in leading — the hero is 40px on a 52px line — projecting confidence and directness rather than the whisper-weight restraint of Western fintech. Korean copy ("성공이 필요한 순간, 딱 맞는 전문가를 찾아보세요") is large, bold, and conversational. There is no decorative letter-spacing; tracking sits at `normal` throughout, letting Pretendard's native metrics do the work.
|
|
172
|
+
Kmong is a Korean expert-services marketplace: its public home lets people find and commission specialists, while the official company site describes an escrow-protected transaction model and company-oriented services such as corporate-card payment and tax-invoice issuance. The public marketplace surface is deliberately direct: white space, dark `#212224` headings, a large searchable entry point, and a lime `#92FA72` action that stands apart from a compact dark header action. Kmong’s company site also records a 2025 logo-rebrand story, so the current expression should be treated as a living marketplace identity rather than an inherited generic green UI. This reference separates the public marketplace evidence from company/corporate context; neither is treated as a substitute for a signed-in workflow or documentation chrome.
|
|
69
173
|
|
|
70
|
-
|
|
174
|
+
## 2. Color & Surface Evidence
|
|
71
175
|
|
|
72
|
-
|
|
73
|
-
-
|
|
74
|
-
-
|
|
75
|
-
-
|
|
76
|
-
-
|
|
77
|
-
-
|
|
78
|
-
-
|
|
79
|
-
-
|
|
80
|
-
-
|
|
81
|
-
|
|
82
|
-
## 2. Color Palette & Roles
|
|
83
|
-
|
|
84
|
-
### Primary
|
|
85
|
-
- **Kmong Green** (`#92fa72`): The primary CTA background ("크몽 시작하기"). A bright, energetic lime-green that anchors every primary action.
|
|
86
|
-
- **Brand Green Deep** (`#5dd877`): The dominant brand fill across cards, tags, and decorative accents — the most-used saturated color on the page.
|
|
87
|
-
- **Green Tint** (`#e1f5dc`): Soft pale-green surface for promo/new tags and tinted backgrounds.
|
|
88
|
-
- **Mint** (`#27e7b7`): Secondary teal-green accent for highlights and decorative gradients.
|
|
89
|
-
|
|
90
|
-
### Neutrals & Text
|
|
91
|
-
- **Heading Ink** (`#212224`): Primary heading and label color — a near-black with a hint of warmth. Also the label color on the green CTA.
|
|
92
|
-
- **Pure Ink** (`#000000`): Section headings and high-contrast body text.
|
|
93
|
-
- **Label Slate** (`#303441`): Secondary control text, muted labels on translucent surfaces.
|
|
94
|
-
- **Pure White** (`#ffffff`): Page background, card surfaces, header bar.
|
|
95
|
-
|
|
96
|
-
### Accents
|
|
97
|
-
- **Trust Blue** (`#4b94fa`): Informational accent, links, Biz-related highlights.
|
|
98
|
-
- **Blue Deep** (`#116ad4`): Biz/기업용 badge text color.
|
|
99
|
-
- **Blue Tint** (`#ebf4ff`): Tinted surface for blue Biz badges.
|
|
100
|
-
- **Alert Red** (`#ff402b`): Best/ranking badges, urgency and promotional accents.
|
|
101
|
-
|
|
102
|
-
### Surface & Borders
|
|
103
|
-
- **Hairline** (`#f2f3f7`): The standard light divider and input underline color.
|
|
104
|
-
- **Border** (`#c8cad2`): Outlined secondary button and control borders.
|
|
105
|
-
- **Card Border** (`#e4e5ed`): Subtle 1px border on gig/service cards.
|
|
176
|
+
- `#FFFFFF` — observed public home/category canvas, search shell, and outlined controls.
|
|
177
|
+
- `#000000` — frequent body and card text in the supplied public capture.
|
|
178
|
+
- `#212224` — heading, search-input, and dark header-action colour.
|
|
179
|
+
- `#555969` — observed muted public-marketplace text.
|
|
180
|
+
- `#F2F3F7` — repeatedly observed hairline/border colour.
|
|
181
|
+
- `#C8CAD2` — home search and outlined-CTA border.
|
|
182
|
+
- `#E4E5ED` — category filter-control border.
|
|
183
|
+
- `#92FA72` — observed home primary-CTA background; it is not assumed to be every primary action on every route.
|
|
184
|
+
- `#FAFAFC` — observed category-page panel surface only.
|
|
106
185
|
|
|
107
186
|
## 3. Typography Rules
|
|
108
187
|
|
|
109
|
-
###
|
|
110
|
-
|
|
111
|
-
- Pretendard
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
|
119
|
-
|
|
120
|
-
|
|
|
121
|
-
|
|
|
122
|
-
|
|
|
123
|
-
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
-
|
|
137
|
-
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
-
|
|
145
|
-
-
|
|
146
|
-
-
|
|
147
|
-
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
-
|
|
154
|
-
-
|
|
155
|
-
- Radius:
|
|
156
|
-
-
|
|
157
|
-
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
-
|
|
165
|
-
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
-
|
|
170
|
-
-
|
|
171
|
-
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
-
|
|
177
|
-
-
|
|
178
|
-
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
-
|
|
182
|
-
-
|
|
183
|
-
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
-
|
|
189
|
-
-
|
|
190
|
-
- Padding:
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
- Category nav row below the brand logotype
|
|
196
|
-
- Active nav item: 2px bottom border in `#212224`
|
|
197
|
-
- Primary green CTA right-aligned
|
|
188
|
+
### Evidence classes
|
|
189
|
+
|
|
190
|
+
- **Live product computed use:** `Pretendard` has 1,444 visible uses across the supplied home and category capture, with a high-confidence loaded FontFace match and 18 Kmong CloudFront font-source URLs. It is the sole `tokens.typography.family.ui` family.
|
|
191
|
+
- **Official font asset and licence:** the upstream Pretendard project documents distribution and its SIL Open Font License 1.1. This establishes the upstream licence boundary; it does not independently establish Kmong product use.
|
|
192
|
+
- **Declared-only:** `slick` has four Kmong-hosted declared source files but zero visible uses in the bundle. It is not a UI-family token and must not be substituted.
|
|
193
|
+
- **Unresolved:** no separate official Kmong typeface or additional browser-loaded family was established from the supplied public routes.
|
|
194
|
+
|
|
195
|
+
### Observed public-marketplace hierarchy
|
|
196
|
+
|
|
197
|
+
| Role | Family | Size | Weight | Line height | Surface boundary |
|
|
198
|
+
|---|---|---:|---:|---:|---|
|
|
199
|
+
| Home headline | Pretendard | 40px | 700 | 52px | Home only |
|
|
200
|
+
| Home search input | Pretendard | 20px | 400 | 28px | Home only |
|
|
201
|
+
| Category heading sample | Pretendard | 36px | 700 | 44px | Category route only |
|
|
202
|
+
| Repeated body/card/list sample | Pretendard | 16px | 400 | 24px | Home and category routes |
|
|
203
|
+
| Header action | Pretendard | 14px | 500 | 20px | Public marketplace header |
|
|
204
|
+
|
|
205
|
+
## 4. Components
|
|
206
|
+
|
|
207
|
+
### Home primary CTA
|
|
208
|
+
|
|
209
|
+
**Default**
|
|
210
|
+
- Background: `#92FA72`
|
|
211
|
+
- Text: `#212224`
|
|
212
|
+
- Radius: `4px`
|
|
213
|
+
- Padding: `0px 24px`
|
|
214
|
+
- Height: `52px`
|
|
215
|
+
- Font: `16px / 500 Pretendard`
|
|
216
|
+
- Use: Public home CTA; `home::[data-omd-capture="143"]`.
|
|
217
|
+
|
|
218
|
+
### Header action
|
|
219
|
+
|
|
220
|
+
**Default**
|
|
221
|
+
- Background: `#212224`
|
|
222
|
+
- Text: `#FFFFFF`
|
|
223
|
+
- Radius: `8px`
|
|
224
|
+
- Height: `36px`
|
|
225
|
+
- Font: `14px / 500 Pretendard`
|
|
226
|
+
- Use: Public marketplace header action; `home::[data-omd-capture="6"]`.
|
|
227
|
+
|
|
228
|
+
### Home search
|
|
229
|
+
|
|
230
|
+
**Default**
|
|
231
|
+
- Background: `#FFFFFF`
|
|
232
|
+
- Text: `#212224`
|
|
233
|
+
- Border: `1px solid #C8CAD2`
|
|
234
|
+
- Radius: `36px`
|
|
235
|
+
- Padding: `0px 32px`
|
|
236
|
+
- Height: `64px`
|
|
237
|
+
- Font: `20px / 400 Pretendard`
|
|
238
|
+
- Use: Public home search shell/input; `home::form` and `home::[data-omd-capture="7"]`.
|
|
239
|
+
|
|
240
|
+
### Home outlined CTA
|
|
241
|
+
|
|
242
|
+
**Default**
|
|
243
|
+
- Background: `#FFFFFF`
|
|
244
|
+
- Text: `#212224`
|
|
245
|
+
- Border: `1px solid #C8CAD2`
|
|
246
|
+
- Radius: `8px`
|
|
247
|
+
- Padding: `0px 24px`
|
|
248
|
+
- Height: `52px`
|
|
249
|
+
- Font: `16px / 500 Pretendard`
|
|
250
|
+
- Use: Public home outlined CTA; `home::[data-omd-capture="145"]`.
|
|
251
|
+
|
|
252
|
+
### Category filter control
|
|
253
|
+
|
|
254
|
+
**Default**
|
|
255
|
+
- Background: `#FFFFFF`
|
|
256
|
+
- Text: `#212224`
|
|
257
|
+
- Border: `1px solid #E4E5ED`
|
|
258
|
+
- Radius: `8px`
|
|
259
|
+
- Padding: `0px 12px`
|
|
260
|
+
- Height: `36px`
|
|
261
|
+
- Font: `14px / 400 Pretendard`
|
|
262
|
+
- Use: Public category filter control; `surface-3::[data-omd-capture="93"]`.
|
|
263
|
+
|
|
264
|
+
### Category panel
|
|
265
|
+
|
|
266
|
+
**Default**
|
|
267
|
+
- Background: `#FAFAFC`
|
|
268
|
+
- Radius: `12px`
|
|
269
|
+
- Padding: `32px 24px`
|
|
270
|
+
- Font: `16px / 400 Pretendard`
|
|
271
|
+
- Use: Public category-page panel; `surface-3::article`.
|
|
272
|
+
|
|
273
|
+
The supplied bundle reports zero interaction records. No hover, pressed, focus, disabled, menu, dialog, validation, or responsive variants are claimed from class names or static samples.
|
|
198
274
|
|
|
199
275
|
---
|
|
200
276
|
|
|
201
|
-
**Verified:** 2026-
|
|
202
|
-
**Tier 1 sources:** https://kmong.com, https://kmong.com/
|
|
203
|
-
|
|
204
|
-
|
|
277
|
+
**Verified:** 2026-07-13
|
|
278
|
+
**Tier 1 sources:** `https://kmong.com/` (public marketplace home), `https://kmong.com/category/1` (public category marketplace), `https://company.kmong.com/` (official company context), `https://github.com/orioncactus/pretendard/blob/main/packages/pretendard/docs/en/README.md` (upstream font distribution), and `https://github.com/orioncactus/pretendard/blob/main/LICENSE` (upstream font licence)
|
|
279
|
+
**Tier 2 sources:** `https://getdesign.md/kmong` (attempted; built-in web open returned an internal safe-open failure/no usable record), `https://styles.refero.design/?q=kmong` (attempted; built-in web open returned an internal safe-open failure/no usable record)
|
|
280
|
+
**Conflicts unresolved:** none
|
|
205
281
|
|
|
206
|
-
|
|
207
|
-
- Base unit: 4px, scaling 4 / 8 / 12 / 16 / 20 / 24 / 40 / 76px
|
|
208
|
-
- Section rhythm uses generous ~76px header-to-content gaps, while gig cards pack densely in grids
|
|
209
|
-
- Notable: dense at the small end (4–16px) for in-card spacing, generous at the section level
|
|
282
|
+
The older universal 4px input/card rule, 76px header, card-shadow system, Biz/Best/promo badge variants, generic gig-card treatment, and all reusable interaction/state/motion assertions were rolled back: they are not established by the supplied 2026 multi-surface capture.
|
|
210
283
|
|
|
211
|
-
|
|
212
|
-
- Wide centered content area for category grids and gig-card carousels
|
|
213
|
-
- Hero: left-aligned bold headline + large search field as the primary entry point
|
|
214
|
-
- Feature sections: horizontally scrolling card carousels ("쇼핑몰 사장님이 많이 찾아요")
|
|
215
|
-
- High content density — many gig cards visible per screen, commerce-first
|
|
284
|
+
## 5. Layout & Responsive Evidence
|
|
216
285
|
|
|
217
|
-
|
|
218
|
-
-
|
|
219
|
-
-
|
|
220
|
-
- **Card rhythm**: Uniform 4px-radius gig cards in repeating carousels create a predictable, catalog-like scanning rhythm.
|
|
221
|
-
|
|
222
|
-
### Border Radius Scale
|
|
223
|
-
- Standard (4px): Buttons, inputs, cards — the workhorse radius
|
|
224
|
-
- Pill small (11px): Biz/promo status tags
|
|
225
|
-
- Pill large (27px): Best/ranking badges
|
|
226
|
-
- Full (9999px): Round control buttons, avatars
|
|
286
|
+
- The supplied capture covers public 1440×900 home and category routes. It establishes a 628px × 64px home-search shell and a 500px × 50px category-search shell, not a breakpoint system.
|
|
287
|
+
- The public category page includes a 1,168px × 184px `#FAFAFC` panel with `32px 24px` padding. It is a route-local observation, not a universal card layout.
|
|
288
|
+
- No mobile, signed-in, checkout, seller, help-centre, or documentation-chrome route was supplied as product evidence. Their layout contracts are intentionally absent.
|
|
227
289
|
|
|
228
290
|
## 6. Depth & Elevation
|
|
229
291
|
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
| Flat (Level 0) | No shadow | Page background, inline text, hairline dividers |
|
|
233
|
-
| Card (Level 1) | `rgba(0,0,0,0.08) 0px 4px 12px 0px` | Gig cards, content panels |
|
|
234
|
-
| Popover (Level 2) | `rgba(0,0,0,0.1) 0px 0px 20px 0px` | Dropdowns, floating tooltips, hover cards |
|
|
292
|
+
- Home search shell: `rgba(0,0,0,0.1) 0px 0px 20px 0px`.
|
|
293
|
+
- Category search shell: `rgba(0,0,0,0.06) 0px 0px 8px 0px`.
|
|
235
294
|
|
|
236
|
-
|
|
295
|
+
No general card, popover, modal, or hover-elevation ladder is claimed.
|
|
237
296
|
|
|
238
297
|
## 7. Do's and Don'ts
|
|
239
298
|
|
|
240
299
|
### Do
|
|
241
|
-
|
|
242
|
-
-
|
|
243
|
-
-
|
|
244
|
-
-
|
|
245
|
-
-
|
|
246
|
-
- Use blue (`#116ad4` on `#ebf4ff`) for Biz/기업용 trust tags and red (`#ff402b`) for Best/ranking
|
|
247
|
-
- Let content density carry the layout — many scannable gig cards per screen
|
|
300
|
+
|
|
301
|
+
- Keep the observed home primary CTA distinct: `#92FA72` with `#212224` text.
|
|
302
|
+
- Use Pretendard only when reproducing the verified public-marketplace specimen.
|
|
303
|
+
- Preserve the route distinction between the 36px home search and 24px category search.
|
|
304
|
+
- Treat the dark 36px header action and lime 52px home CTA as separate observed variants.
|
|
248
305
|
|
|
249
306
|
### Don't
|
|
250
|
-
|
|
251
|
-
-
|
|
252
|
-
-
|
|
253
|
-
-
|
|
254
|
-
-
|
|
255
|
-
- Don't use thin/light heading weights — Kmong headlines are bold (700) and direct
|
|
256
|
-
- Don't sacrifice content density for whitespace — this is a marketplace, not a minimalist landing page
|
|
307
|
+
|
|
308
|
+
- Do not turn the lime home CTA into an unsupported universal action token.
|
|
309
|
+
- Do not reuse `slick` or substitute it for Pretendard; its visible product use was not observed.
|
|
310
|
+
- Do not infer hover, focus, disabled, error, modal, or responsive styles from utility class names.
|
|
311
|
+
- Do not apply the category panel or filters to marketing, support, or signed-in flows without evidence.
|
|
257
312
|
|
|
258
313
|
## 8. Responsive Behavior
|
|
259
314
|
|
|
260
|
-
|
|
261
|
-
| Name | Width | Key Changes |
|
|
262
|
-
|------|-------|-------------|
|
|
263
|
-
| Mobile | <768px | Single-column, full-width search, stacked card carousels |
|
|
264
|
-
| Tablet | 768–1024px | 2-column gig grids, condensed nav |
|
|
265
|
-
| Desktop | 1024–1440px | Full multi-column carousels, complete category nav |
|
|
266
|
-
| Large | >1440px | Centered content with side margins |
|
|
267
|
-
|
|
268
|
-
### Touch Targets
|
|
269
|
-
- Primary CTA and search field sized for comfortable mobile tapping
|
|
270
|
-
- Gig cards full-width tappable on mobile
|
|
271
|
-
- Category chips with adequate horizontal padding (0 20px)
|
|
272
|
-
- Round control pills sized as discrete tap targets
|
|
273
|
-
|
|
274
|
-
### Collapsing Strategy
|
|
275
|
-
- Hero: 40px headline compresses on mobile, weight 700 maintained
|
|
276
|
-
- Navigation: full category row collapses to hamburger + search on mobile
|
|
277
|
-
- Card carousels: horizontal scroll preserved across breakpoints
|
|
278
|
-
- Search field: remains the dominant above-the-fold element at all sizes
|
|
279
|
-
|
|
280
|
-
### Image Behavior
|
|
281
|
-
- Gig thumbnails maintain 4px radius at all sizes
|
|
282
|
-
- Expert avatars stay fully round (9999px)
|
|
283
|
-
- Card images fill card width, fixed aspect ratio for catalog uniformity
|
|
315
|
+
Only desktop-sized public capture evidence was supplied. No breakpoint, touch-target, mobile navigation, or image-ratio rule is recorded.
|
|
284
316
|
|
|
285
317
|
## 9. Agent Prompt Guide
|
|
286
318
|
|
|
287
|
-
|
|
288
|
-
-
|
|
289
|
-
-
|
|
290
|
-
-
|
|
291
|
-
- Heading text: Ink (`#212224`)
|
|
292
|
-
- Body text: Ink (`#000000`)
|
|
293
|
-
- Hairline/divider: (`#f2f3f7`)
|
|
294
|
-
- Card border: (`#e4e5ed`)
|
|
295
|
-
- Biz tag: blue text (`#116ad4`) on tint (`#ebf4ff`)
|
|
296
|
-
- Best/ranking: Red (`#ff402b`)
|
|
297
|
-
|
|
298
|
-
### Example Component Prompts
|
|
299
|
-
- "Create a hero on white background. Headline at 40px Pretendard weight 700, line-height 52px, color #212224, no letter-spacing. Below it a search field (white, 4px radius, 20px text, placeholder '어떤 전문가가 필요하세요?'). Primary green CTA button (#92fa72 bg, #212224 dark text, 4px radius, 0 24px padding, 16px weight 500)."
|
|
300
|
-
- "Design a gig card: white background, 1px solid #e4e5ed border, 4px radius, shadow rgba(0,0,0,0.08) 0px 4px 12px. Title at 20px Pretendard weight 700, #212224. A Biz pill: #ebf4ff bg, #116ad4 text, 11px radius, 10px weight 700."
|
|
301
|
-
- "Build a Best badge: white background, #ff402b text, 27px radius, 11px Pretendard weight 700."
|
|
302
|
-
- "Create navigation: white sticky 76px header. Pretendard 16px weight 400 links in #212224, active item with 2px bottom border #212224. Green CTA '크몽 시작하기' right-aligned (#92fa72 bg, #212224 text, 4px radius)."
|
|
303
|
-
|
|
304
|
-
### Iteration Guide
|
|
305
|
-
1. The signature green `#92fa72` carries dark ink text (`#212224`), not white — this is the defining brand quirk
|
|
306
|
-
2. Pretendard is the only family; lean on weight (700/500/400) for hierarchy
|
|
307
|
-
3. Radius stays at 4px for buttons/cards/inputs; full-round only for badges and avatars
|
|
308
|
-
4. Shadows are soft, neutral, single-layer — `rgba(0,0,0,0.08) 0px 4px 12px`
|
|
309
|
-
5. Blue (`#116ad4`/`#ebf4ff`) is reserved for Biz/trust; red (`#ff402b`) for ranking/urgency
|
|
310
|
-
6. Content density over whitespace — this is a marketplace catalog
|
|
311
|
-
|
|
312
|
-
---
|
|
319
|
+
- Recreate the **public home CTA** as a 52px-tall, 4px-radius button with `#92FA72` background, `#212224` label, `0px 24px` padding, and 16px/500 Pretendard.
|
|
320
|
+
- Recreate the **public home search** as a 64px white shell with a `#C8CAD2` 1px border, 36px radius, `0px 32px` shell padding, and a 20px/400 Pretendard input.
|
|
321
|
+
- Recreate the **public category filter** as a 36px white control with `#E4E5ED` border, 8px radius, `0px 12px` padding, and 14px/400 Pretendard.
|
|
322
|
+
- Do not generate an interaction or state variant unless new selector-and-interaction evidence establishes it.
|
|
313
323
|
|
|
314
324
|
## 10. Voice & Tone
|
|
315
325
|
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
| Context | Tone |
|
|
319
|
-
|---|---|
|
|
320
|
-
| Hero headlines | Aspirational + concrete. Names the goal ("성공"), then the action ("전문가를 찾아보세요"). |
|
|
321
|
-
| Category labels | Plain, scannable Korean nouns. "디자인", "마케팅", "IT·프로그래밍". |
|
|
322
|
-
| Social-proof sections | Relatable persona framing. "쇼핑몰 사장님이 많이 찾아요". |
|
|
323
|
-
| CTAs | Direct, momentum verbs. "크몽 시작하기", "의뢰하기", "전문가 찾기". |
|
|
324
|
-
| Trust signals | Specific and reassuring — ratings, review counts, 안전결제 (safe payment), Biz guarantees. |
|
|
325
|
-
| Help / A to Z | Friendly, step-by-step, beginner-aware. Assumes the user is new to outsourcing. |
|
|
326
|
-
|
|
327
|
-
**Forbidden register.** Cold corporate jargon, English-heavy buzzwords where plain Korean works, fear-based urgency, or anything that makes a first-time outsourcer feel they don't belong. Kmong's voice lowers the barrier to hiring an expert.
|
|
326
|
+
The official homepage frames the service around finding capable experts and protecting a transaction until work is received; the company site presents the same marketplace as a place where individuals and companies can commission work with practical payment and document support. The observable public tone is therefore direct, reassuring, and task-oriented. This is source-grounded service framing, not a claim that every internal or support message uses one fixed voice.
|
|
328
327
|
|
|
329
328
|
## 11. Brand Narrative
|
|
330
329
|
|
|
331
|
-
Kmong
|
|
332
|
-
|
|
333
|
-
The name "크몽" is the brand's own coinage, and the bright lime-green identity has become a recognizable mark in the Korean startup and SMB ecosystem. Over time Kmong expanded beyond individual gigs into **Kmong Enterprise / Biz** offerings (the 기업용 / 엔터프라이즈 tags visible in the nav) — bringing vetted experts, quality guarantees, and managed sourcing to companies, not just individuals. The platform positions itself as the default first stop for any Korean small business or founder who needs specialized work done without the overhead of hiring full-time.
|
|
334
|
-
|
|
335
|
-
What Kmong embraces: lowering the barrier to outsourcing, trust infrastructure (reviews, safe payment, dispute handling), and a friendly, high-energy visual brand that makes commissioning expert work feel approachable rather than intimidating.
|
|
330
|
+
Kmong’s official company site presents the service as an expert platform where a request can be made by chat and protected through escrow payment, with distinct support for company transactions such as corporate cards and tax invoices. Its public home exposes the marketplace side of that proposition: specialist listings, reviews, and a search-led path into discovery. The company site also publishes a 2025 logo-rebrand item, indicating an actively maintained visual identity. These facts establish the product and its current public expression; no unobserved seller, contract, or post-purchase experience is inferred here.
|
|
336
331
|
|
|
337
332
|
## 12. Principles
|
|
338
333
|
|
|
339
|
-
1. **
|
|
340
|
-
2. **
|
|
341
|
-
3. **
|
|
342
|
-
4. **Density serves discovery.** A marketplace lives or dies by inventory visibility. Show many scannable gig cards; let content, not chrome, fill the screen.
|
|
343
|
-
5. **Approachable, not corporate.** Bold conversational Korean, warm persona framing, and an energetic palette make hiring an expert feel friendly — appropriate for SMB and solo founders.
|
|
344
|
-
6. **Conservative chrome, vivid accent.** 4px radii and soft neutral shadows keep the frame quiet so the green CTA and the gig content stand out.
|
|
345
|
-
|
|
346
|
-
## 13. Personas
|
|
347
|
-
|
|
348
|
-
*Personas below are fictional archetypes informed by publicly observable Kmong user segments (small-business owners, solo founders, freelancers, marketers), not individual people.*
|
|
349
|
-
|
|
350
|
-
**Jisoo Han, 34, Seoul.** Runs a small online clothing shop. Needs a detail page (상세페이지) designed and product photos shot but has no in-house designer. Searches Kmong by category, compares portfolios and review counts, and commissions a freelancer through safe payment. Trusts the green "크몽 시작하기" path because it always tells her clearly what happens next.
|
|
334
|
+
1. **Start with expert discovery.** The large public search field is the most explicit route into the marketplace. *UI implication:* keep a verified search treatment route-local rather than inventing a global command surface.
|
|
335
|
+
2. **Make the next action legible.** The public home’s lime CTA contrasts with the dark header action. *UI implication:* preserve their separate size, colour, and radius values.
|
|
336
|
+
3. **Keep transaction trust concrete.** Escrow protection and company-payment support come from official company context. *UI implication:* do not fabricate trust badges, validation states, or checkout affordances from that narrative alone.
|
|
351
337
|
|
|
352
|
-
|
|
338
|
+
## 13. Stakeholder Groups
|
|
353
339
|
|
|
354
|
-
|
|
340
|
+
*Source-grounded groups, not fictional personas.*
|
|
355
341
|
|
|
356
|
-
**
|
|
342
|
+
- **Clients commissioning expert work:** the public marketplace exposes specialist listings, reviews, and search-led discovery for this group.
|
|
343
|
+
- **Experts offering services:** Kmong’s marketplace model depends on expert service listings; no seller-console UI is claimed from this public capture.
|
|
344
|
+
- **Companies commissioning external work:** the official company site identifies corporate transaction support, including corporate-card payment and tax-invoice issuance; this is business context, not a captured enterprise product UI.
|
|
357
345
|
|
|
358
346
|
## 14. States
|
|
359
347
|
|
|
360
|
-
|
|
361
|
-
|---|---|
|
|
362
|
-
| **Empty (search, no results)** | White canvas, ink (`#212224`) single line: "검색 결과가 없어요." A green CTA suggests browsing categories instead. No heavy illustration. |
|
|
363
|
-
| **Loading (card grid)** | Skeleton cards at final dimensions in hairline (`#f2f3f7`), 4px radius. Soft shimmer. Card-shaped placeholders preserve the catalog grid. |
|
|
364
|
-
| **Error (action failed)** | Inline message below the action in ink. Red (`#ff402b`) accent for the error marker. Plain-Korean explanation plus a retry affordance. |
|
|
365
|
-
| **Error (form validation)** | Field-level. Red (`#ff402b`) marker + short Korean message describing what to fix. |
|
|
366
|
-
| **Success (order placed / safe payment)** | Confirmation with the green brand fill (`#5dd877`/`#e1f5dc` tint). Clear next-step link to the order. Reassuring, momentum-preserving. |
|
|
367
|
-
| **Disabled** | Reduced opacity on surface and text together. Green actions fade rather than switch to gray, preserving brand read. |
|
|
368
|
-
| **Loading (button press)** | Inline spinner on the green CTA; label stays, button stays green. No layout shift. |
|
|
348
|
+
No reusable empty, loading, error, success, disabled, validation, or skeleton treatment is recorded. The bundle has zero interaction records, so state design is intentionally omitted rather than synthesized.
|
|
369
349
|
|
|
370
350
|
## 15. Motion & Easing
|
|
371
351
|
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
| Token | Value | Use |
|
|
375
|
-
|---|---|---|
|
|
376
|
-
| `motion-fast` | 120ms | Hover, focus, button press feedback |
|
|
377
|
-
| `motion-standard` | 200ms | Dropdowns, card hover lift, carousel steps |
|
|
378
|
-
| `motion-slow` | 320ms | Section reveals, modal open |
|
|
379
|
-
|
|
380
|
-
**Easings**:
|
|
381
|
-
|
|
382
|
-
| Token | Curve | Use |
|
|
383
|
-
|---|---|---|
|
|
384
|
-
| `ease-standard` | `cubic-bezier(0.25, 0.1, 0.25, 1)` | Default two-way transitions |
|
|
385
|
-
| `ease-enter` | `cubic-bezier(0.2, 0.6, 0.25, 1)` | Dropdowns, hover cards arriving |
|
|
386
|
-
| `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | Dismissals |
|
|
387
|
-
|
|
388
|
-
**Signature motions.**
|
|
389
|
-
|
|
390
|
-
1. **Card hover lift.** Gig cards raise gently on hover using `motion-standard / ease-standard`, the soft shadow (`rgba(0,0,0,0.08) 0px 4px 12px`) deepening slightly. The motion signals tappability without distracting from scanning.
|
|
391
|
-
2. **Carousel step.** Horizontal card carousels ("쇼핑몰 사장님이 많이 찾아요") slide one column at a time with `motion-standard`, keeping the catalog's left-to-right reading order intact.
|
|
392
|
-
3. **CTA press.** The green primary button gives immediate `motion-fast` press feedback — a brief scale/opacity dip — confirming the action without delay.
|
|
393
|
-
4. **Reduce motion.** Under `prefers-reduced-motion: reduce`, hover lifts and carousel slides become instantaneous; the marketplace stays fully functional with no decorative motion.
|
|
394
|
-
|
|
395
|
-
<!--
|
|
396
|
-
OmD v0.1 Sources — Kmong
|
|
397
|
-
|
|
398
|
-
Token-level claims (sections 1–9) are sourced from a live DOM inspection of
|
|
399
|
-
https://kmong.com on 2026-06-09 via Playwright getComputedStyle:
|
|
400
|
-
- Primary CTA "크몽 시작하기": background #92fa72, color #212224, radius 4px,
|
|
401
|
-
padding 0 24px, 16px / weight 500 (BUTTON).
|
|
402
|
-
- Dominant brand fill #5dd877 (152 occurrences), tint #e1f5dc, mint #27e7b7.
|
|
403
|
-
- H1 hero 40px / weight 700 / line-height 52px / color rgb(33,34,36)=#212224,
|
|
404
|
-
font-family Pretendard.
|
|
405
|
-
- H2 28px / weight 700 / line-height 38px.
|
|
406
|
-
- Header (nav) white #ffffff, height 76px, ink #212224 links.
|
|
407
|
-
- Biz pill 기업용: bg #ebf4ff, fg #116ad4, radius 11px, 10px / 700.
|
|
408
|
-
- Best badge: fg #ff402b, radius 27px, 11px / 700.
|
|
409
|
-
- Secondary button: border #c8cad2, radius 4px, fg #000000, 16px / 400.
|
|
410
|
-
- Card: white, radius 4px, border #e4e5ed, shadow rgba(0,0,0,0.08) 0px 4px 12px;
|
|
411
|
-
popover shadow rgba(0,0,0,0.1) 0px 0px 20px.
|
|
412
|
-
- Search input placeholder "어떤 전문가가 필요하세요?", 20px text, #f2f3f7 hairline.
|
|
413
|
-
|
|
414
|
-
Brand-narrative claims (sections 10–13): Kmong (크몽) is Korea's largest
|
|
415
|
-
freelance/skill marketplace operated by Kmong Inc., launched 2012, productized
|
|
416
|
-
gig model with safe-payment (안전결제) escrow and a Biz/Enterprise tier
|
|
417
|
-
(기업용 / 엔터프라이즈 tags observed in nav). These are widely documented public
|
|
418
|
-
facts about the company plus on-page observed labels.
|
|
419
|
-
|
|
420
|
-
Personas (§13) are fictional archetypes informed by publicly observable Kmong
|
|
421
|
-
user segments (SMB owners, solo founders, freelancers, marketers). Names are
|
|
422
|
-
illustrative; they do not refer to real people.
|
|
423
|
-
|
|
424
|
-
Interpretive claims (e.g., "green means go", "dark ink on bright green is the
|
|
425
|
-
defining brand quirk") are editorial readings connecting Kmong's observed design
|
|
426
|
-
choices to its marketplace strategy, not directly sourced Kmong statements.
|
|
427
|
-
-->
|
|
352
|
+
No reusable duration, easing, or motion rule is recorded. Public utility class names and static elements do not establish a motion contract without interaction provenance.
|