oh-my-design-cli 1.3.9 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ja.md +8 -8
- package/README.ko.md +7 -7
- package/README.md +50 -16
- package/README.zh-TW.md +8 -8
- package/agents/omd-asset-curator.md +2 -7
- package/agents/omd-codex-image.md +49 -0
- package/agents/omd-designer-review.md +38 -0
- package/agents/omd-final-qa.md +40 -0
- package/agents/omd-kr-writer.md +35 -0
- package/agents/omd-locale-adapter.md +32 -0
- package/agents/omd-master.md +3 -13
- package/agents/omd-orchestrator.md +34 -0
- package/data/reference-audits/2026-05-14-kr10.md +72 -0
- package/data/reference-audits/2026-05-15-kr10.md +124 -0
- package/data/reference-fingerprints.json +1409 -254
- package/data/research/2026-05-18-agent-landscape.md +69 -0
- package/data/research/2026-05-18-kr-style-presets.md +572 -0
- package/dist/bin/oh-my-design.js +6 -3
- package/dist/bin/oh-my-design.js.map +1 -1
- package/dist/{install-skills-MVXVXYAY.js → install-skills-IETT2TBJ.js} +91 -8
- package/dist/install-skills-IETT2TBJ.js.map +1 -0
- package/package.json +7 -1
- package/skills/omd-apply/SKILL.md +0 -1
- package/skills/omd-codex-image/SKILL.md +162 -0
- package/skills/omd-designer-review/SKILL.md +146 -0
- package/skills/omd-final-qa/SKILL.md +153 -0
- package/skills/omd-kr-writer/SKILL.md +229 -0
- package/skills/omd-locale-adapter/SKILL.md +124 -0
- package/skills/omd-orchestrator/SKILL.md +124 -0
- package/web/references/17live/DESIGN.md +424 -0
- package/web/references/29cm/DESIGN.md +11 -2
- package/web/references/ably/DESIGN.md +12 -2
- package/web/references/airbnb/DESIGN.md +17 -2
- package/web/references/airtable/DESIGN.md +20 -0
- package/web/references/alipay/DESIGN.md +456 -0
- package/web/references/appier/DESIGN.md +420 -0
- package/web/references/apple/DESIGN.md +17 -2
- package/web/references/baemin/DESIGN.md +11 -2
- package/web/references/banksalad/DESIGN.md +17 -2
- package/web/references/bilibili/DESIGN.md +426 -0
- package/web/references/bmw/DESIGN.md +14 -0
- package/web/references/bunjang/DESIGN.md +308 -0
- package/web/references/cal/DESIGN.md +14 -0
- package/web/references/catchtable/DESIGN.md +262 -0
- package/web/references/channeltalk/DESIGN.md +374 -0
- package/web/references/class101/DESIGN.md +433 -0
- package/web/references/classum/DESIGN.md +217 -0
- package/web/references/claude/DESIGN.md +11 -2
- package/web/references/clay/DESIGN.md +19 -0
- package/web/references/clickhouse/DESIGN.md +19 -0
- package/web/references/cohere/DESIGN.md +20 -0
- package/web/references/coinbase/DESIGN.md +14 -0
- package/web/references/composio/DESIGN.md +14 -0
- package/web/references/cookpad/DESIGN.md +357 -0
- package/web/references/coupang/DESIGN.md +17 -2
- package/web/references/cursor/DESIGN.md +20 -0
- package/web/references/dabang/DESIGN.md +210 -0
- package/web/references/dcard/DESIGN.md +11 -2
- package/web/references/dji/DESIGN.md +416 -0
- package/web/references/elevenlabs/DESIGN.md +20 -0
- package/web/references/expo/DESIGN.md +20 -0
- package/web/references/fastcampus/DESIGN.md +460 -0
- package/web/references/ferrari/DESIGN.md +14 -0
- package/web/references/figma/DESIGN.md +17 -2
- package/web/references/flex/DESIGN.md +309 -0
- package/web/references/framer/DESIGN.md +20 -0
- package/web/references/freee/DESIGN.md +16 -2
- package/web/references/gangnamunni/DESIGN.md +18 -2
- package/web/references/gmarket/DESIGN.md +464 -0
- package/web/references/gogoro/DESIGN.md +403 -0
- package/web/references/hashicorp/DESIGN.md +19 -0
- package/web/references/ibm/DESIGN.md +20 -0
- package/web/references/ichef/DESIGN.md +411 -0
- package/web/references/inflearn/DESIGN.md +396 -0
- package/web/references/intercom/DESIGN.md +14 -0
- package/web/references/jumpit/DESIGN.md +366 -0
- package/web/references/kakao/DESIGN.md +14 -0
- package/web/references/kakaobank/DESIGN.md +17 -2
- package/web/references/kakaopay/DESIGN.md +17 -2
- package/web/references/kakaot/DESIGN.md +454 -0
- package/web/references/karrot/DESIGN.md +16 -2
- package/web/references/kbank/DESIGN.md +195 -0
- package/web/references/kkday/DESIGN.md +423 -0
- package/web/references/kraken/DESIGN.md +14 -0
- package/web/references/krds/DESIGN.md +17 -2
- package/web/references/kream/DESIGN.md +382 -0
- package/web/references/kurly/DESIGN.md +11 -2
- package/web/references/lamborghini/DESIGN.md +14 -0
- package/web/references/line/DESIGN.md +17 -2
- package/web/references/linear.app/DESIGN.md +17 -2
- package/web/references/lovable/DESIGN.md +14 -0
- package/web/references/lunit/DESIGN.md +249 -0
- package/web/references/meituan/DESIGN.md +424 -0
- package/web/references/mercari/DESIGN.md +11 -2
- package/web/references/millie/DESIGN.md +533 -0
- package/web/references/minimax/DESIGN.md +14 -0
- package/web/references/mintlify/DESIGN.md +14 -0
- package/web/references/miro/DESIGN.md +20 -0
- package/web/references/mistral.ai/DESIGN.md +20 -0
- package/web/references/money-forward/DESIGN.md +401 -0
- package/web/references/mongodb/DESIGN.md +19 -0
- package/web/references/musinsa/DESIGN.md +11 -2
- package/web/references/myrealtrip/DESIGN.md +445 -0
- package/web/references/naver/DESIGN.md +17 -2
- package/web/references/naverwebtoon/DESIGN.md +429 -0
- package/web/references/note/DESIGN.md +318 -0
- package/web/references/notion/DESIGN.md +11 -2
- package/web/references/nvidia/DESIGN.md +11 -2
- package/web/references/ohouse/DESIGN.md +11 -2
- package/web/references/oliveyoung/DESIGN.md +342 -0
- package/web/references/ollama/DESIGN.md +14 -0
- package/web/references/opencode.ai/DESIGN.md +20 -0
- package/web/references/pinkoi/DESIGN.md +11 -2
- package/web/references/pinterest/DESIGN.md +19 -0
- package/web/references/posthog/DESIGN.md +20 -0
- package/web/references/publy/DESIGN.md +511 -0
- package/web/references/qanda/DESIGN.md +11 -2
- package/web/references/raycast/DESIGN.md +19 -0
- package/web/references/remember/DESIGN.md +17 -2
- package/web/references/renault/DESIGN.md +14 -0
- package/web/references/replicate/DESIGN.md +14 -0
- package/web/references/resend/DESIGN.md +20 -0
- package/web/references/revolut/DESIGN.md +14 -0
- package/web/references/ridi/DESIGN.md +11 -2
- package/web/references/runwayml/DESIGN.md +14 -0
- package/web/references/sanity/DESIGN.md +20 -0
- package/web/references/sentry/DESIGN.md +14 -0
- package/web/references/smarthr/DESIGN.md +404 -0
- package/web/references/smartnews/DESIGN.md +331 -0
- package/web/references/socar/DESIGN.md +17 -2
- package/web/references/spacex/DESIGN.md +11 -2
- package/web/references/spoon/DESIGN.md +446 -0
- package/web/references/spotify/DESIGN.md +14 -0
- package/web/references/stripe/DESIGN.md +11 -2
- package/web/references/supabase/DESIGN.md +20 -0
- package/web/references/superhuman/DESIGN.md +20 -0
- package/web/references/tada/DESIGN.md +528 -0
- package/web/references/tesla/DESIGN.md +11 -2
- package/web/references/together.ai/DESIGN.md +20 -0
- package/web/references/toss/DESIGN.md +16 -2
- package/web/references/toss-securities/DESIGN.md +193 -0
- package/web/references/tossbank/DESIGN.md +519 -0
- package/web/references/triple/DESIGN.md +434 -0
- package/web/references/tumblbug/DESIGN.md +530 -0
- package/web/references/tving/DESIGN.md +259 -0
- package/web/references/uber/DESIGN.md +19 -0
- package/web/references/upbit/DESIGN.md +276 -0
- package/web/references/upstage/DESIGN.md +214 -0
- package/web/references/vercel/DESIGN.md +17 -2
- package/web/references/voltagent/DESIGN.md +14 -0
- package/web/references/wadiz/DESIGN.md +344 -0
- package/web/references/wanted/DESIGN.md +16 -2
- package/web/references/warp/DESIGN.md +14 -0
- package/web/references/watcha/DESIGN.md +425 -0
- package/web/references/wavve/DESIGN.md +438 -0
- package/web/references/wconcept/DESIGN.md +511 -0
- package/web/references/webflow/DESIGN.md +14 -0
- package/web/references/wise/DESIGN.md +19 -0
- package/web/references/x.ai/DESIGN.md +14 -0
- package/web/references/xiaohongshu/DESIGN.md +423 -0
- package/web/references/yanolja/DESIGN.md +17 -2
- package/web/references/yeogiotte/DESIGN.md +18 -2
- package/web/references/yogiyo/DESIGN.md +465 -0
- package/web/references/zapier/DESIGN.md +20 -0
- package/web/references/zigbang/DESIGN.md +12 -2
- package/web/references/zigzag/DESIGN.md +17 -2
- package/agents/omd-3d-blender.md +0 -269
- package/dist/install-skills-MVXVXYAY.js.map +0 -1
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: kbank
|
|
3
|
+
name: K bank
|
|
4
|
+
country: KR
|
|
5
|
+
category: fintech
|
|
6
|
+
homepage: "https://www.kbanknow.com"
|
|
7
|
+
primary_color: "#0046ff"
|
|
8
|
+
logo:
|
|
9
|
+
type: favicon
|
|
10
|
+
slug: "https://www.google.com/s2/favicons?domain=kbanknow.com&sz=256"
|
|
11
|
+
verified: "2026-05-14"
|
|
12
|
+
omd: "0.1"
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# K bank — Design Reference
|
|
16
|
+
|
|
17
|
+
> 케이뱅크 — Korea's first internet-only bank (launched 2017). State-licensed digital-only commercial bank; sibling category to Toss Bank and Kakao Bank, but with the most "traditional bank" posture of the three: navy-led, document-forward, partnership-driven (KT, Woori, Bain, MBK).
|
|
18
|
+
|
|
19
|
+
K bank reads as a **regulated bank that happens to be app-native**, not a fintech wearing a bank licence. The visual signal is conservative, the IA is product-catalog-first, and the language defaults to formal `~합니다` rather than the colloquial `~해요` of Toss. The interesting tension: an otherwise austere navy palette is paired with one shockingly bright lime (`#B6F23D`) reserved as the energetic accent — a calculated rule-breaker.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## 1. Visual Theme & Atmosphere
|
|
24
|
+
|
|
25
|
+
**K bank** is South Korea's first internet-only bank (launched 2017, KT-led consortium → 2021 KT Strategic Investment recap → 2024 IPO preparation). The product surface reads as a neobank that refuses both fintech-startup playfulness and legacy-bank gravitas: a near-white canvas anchored by a single signature **K bank Navy `#0114A7`**, an energetic **Lime `#B6F23D`** accent used sparingly on activation states, and a tight Pretendard type ladder. Skip-link primary, body 16px / 400 #1A1A1A on white, fixed 1280px desktop canvas — the chrome is sober, mobile-first-translated-to-desktop, and image-replacement H1 (font-size:0) is still in use, which surfaces concrete a11y debt (`a11y_landmark_violation` documented in §8). Where the prior batch's Toss leans warm-trust and KakaoBank leans playful-yellow, K bank leans **executive-restraint**: the brand is the navy, the navy is the trust, and chrome elsewhere stays out of the way.
|
|
26
|
+
|
|
27
|
+
## 1.1 Foundation tokens (live-captured)
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
All values pulled from `getComputedStyle(document.documentElement)` on `https://www.kbanknow.com` — see `assets/_reference/tokens.json` for the full machine-readable set and `assets/_reference/.live-inspect-proof.json` for raw samples.
|
|
31
|
+
|
|
32
|
+
### Color — brand
|
|
33
|
+
| Token | Value | Role |
|
|
34
|
+
|---|---|---|
|
|
35
|
+
| `--color-navy` | `#0114A7` | Signature K bank navy. Sole brand-positive primary. Used on skip-link, CTAs, key labels. |
|
|
36
|
+
| `--color-lime` | `#B6F23D` | Energetic accent. Sparingly applied — never on body text, never on form chrome. |
|
|
37
|
+
| `--txt-pri-sell` | `#047AF1` | "Sell" / promo blue — used for product-detail callouts adjacent to navy primary. |
|
|
38
|
+
|
|
39
|
+
### Color — neutral ramp (11 stops, dual-emitted as `--color-g*` and `--txt-g*`)
|
|
40
|
+
`g1000 #020616` → `g900 #252B37` → `g800 #3B4659` → `g700 #4D596F` → `g600 #67748E` → `g500 #8694B1` → `g400 #C8D2E4` → `g300 #E0E6F1` → `g200 #EDF1F7` → `g100 #F7F9FD` → `w100 #FFFFFF`. Cool-leaning grayscale (blue-tinted, not neutral) — keeps the ramp coherent with the navy primary.
|
|
41
|
+
|
|
42
|
+
### Color — semantic state
|
|
43
|
+
| State | Bg | Txt | Use |
|
|
44
|
+
|---|---|---|---|
|
|
45
|
+
| info | `#D1ECFF` | `#066AE5` | informational banner |
|
|
46
|
+
| action | `#E6EBFF` | `#2539E9` | promo / opportunity callout |
|
|
47
|
+
| neutral | `#EDF1F7` | `#4D596F` | quiet badge / chip |
|
|
48
|
+
| error | `#FFE5E0` | `#E23A32` | failure / fraud alert |
|
|
49
|
+
|
|
50
|
+
### Color — extended palette
|
|
51
|
+
`bu800 #066AE5` · `re700 #E23A32` · `og600 #E46F00` · `yl600 #B78F01` · `lm600 #69A305` · `in700 #4262FF`. Six muted hues, each kept dark/saturated enough to pass AA against `#FFFFFF`.
|
|
52
|
+
|
|
53
|
+
### Typography
|
|
54
|
+
- **Primary**: `Pretendard K Edition` — the Korean-optimised cut of the open-source Pretendard family. Single global family; no serif/display split.
|
|
55
|
+
- **Stack**: `Pretendard K Edition, -apple-system, system-ui, Roboto, Helvetica Neue, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, sans-serif`.
|
|
56
|
+
- **Body**: 14px / 400 / line-height `normal`.
|
|
57
|
+
- **CTA**: 18px / 500 (medium, not bold) / 56px height / 12px radius. This is the only widely-rounded surface — see §3.
|
|
58
|
+
|
|
59
|
+
### Radius
|
|
60
|
+
- CTA only: `12px`.
|
|
61
|
+
- Everything else observed: `0px`. **Sharp orthogonal blocks dominate.** This is a deliberate, conservative-bank signal.
|
|
62
|
+
|
|
63
|
+
### Shadow
|
|
64
|
+
- Not used on the marketing root. Elevation conveyed through 1px borders and `--color-g200/g300` background fills, not Z-axis.
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## 2. Layout & grid
|
|
69
|
+
|
|
70
|
+
- **Fixed 1280px desktop canvas.** No fluid breakpoint observed on the marketing surface; mobile app is the primary product channel, web is the catalog/regulatory mirror.
|
|
71
|
+
- Body width measured live at `1280px`, height `1126px` above-the-fold for the landing surface.
|
|
72
|
+
- Three vertical bands: top utility row → primary nav → product-tile grid → 새소식/공지 list → footer-equivalent block.
|
|
73
|
+
- No `<header>` / `<nav>` / `<footer>` / `<main>` landmarks — all chrome is `<div class="…">`. Logged as a11y debt in §11.
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## 3. Component DNA
|
|
78
|
+
|
|
79
|
+
**Buttons**: 56px tall × 12px radius × 18px / 500 type × navy (`#0114A7`) fill + white text. Medium weight, not bold — a small but distinctive choice; most KR finance peers default to 600/700.
|
|
80
|
+
|
|
81
|
+
**Skip-link**: Renders visibly when focused as `padding: 10px 20px; background: #0114A7; color: #fff;` — a rare bank that ships a working "본문 바로가기" affordance.
|
|
82
|
+
|
|
83
|
+
**Links**: Default to `g1000 #020616` body color, underline on hover (not inline-styled — relies on Pretendard's tight optical settings to keep dense 14px nav legible).
|
|
84
|
+
|
|
85
|
+
**Cards / product tiles**: Square-cornered (`0px`), separated by 1px borders in `--color-g300 #E0E6F1`, internal padding generous. No drop-shadow.
|
|
86
|
+
|
|
87
|
+
**Form chrome**: `<input>` elements observed but kept off-DOM until interaction (`display:none` on landing) — the marketing surface is read-only, transactional flows live in the app.
|
|
88
|
+
|
|
89
|
+
**Logo treatment**: `<h1 class="logo">` with `font-size: 0` (image-replacement) — text content `개인 / 기업` is the persona switcher, the visible logo is an inline SVG.
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## 4. Iconography & illustration
|
|
94
|
+
|
|
95
|
+
- Minimal illustration on the marketing root (8 `<img>` total). The brand leans on type + flat color blocks for hierarchy, not custom artwork.
|
|
96
|
+
- No icon system surfaced in `:root` tokens — icons are inlined or asset-based, not tokenised.
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## 5. Motion
|
|
101
|
+
|
|
102
|
+
- No CSS transitions/animations declared at `:root` level (no `--motion-*` or `--duration-*` tokens). The marketing surface is static; in-app motion is out-of-scope for web inspection.
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## 6. Information architecture
|
|
107
|
+
|
|
108
|
+
Four-tab primary nav: `개인 · 기업 · 은행소개 · 상품안내 · 고객센터 · 혜택`. Catalog-first IA, not task-first.
|
|
109
|
+
|
|
110
|
+
| Group | Children |
|
|
111
|
+
|---|---|
|
|
112
|
+
| 은행소개 | 케이뱅크 · 투자정보 · 인재채용 · 새소식 |
|
|
113
|
+
| 상품안내 | 예적금 · 대출 · 카드 · 투자 · 서비스 |
|
|
114
|
+
| 고객센터 | 이용안내 · 소비자보호 · 금융사기대응 · 자료실 · 증명서 · 인증서 |
|
|
115
|
+
| 혜택 | (single landing) |
|
|
116
|
+
|
|
117
|
+
136 anchors on the landing surface. This is a **directory-style bank site**, not a product funnel. Compare Toss, which collapses everything into a single product narrative.
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## 7. Content patterns
|
|
122
|
+
|
|
123
|
+
- **Notice-led hero**: top of the marketing root surfaces the most recent 공지사항 (e.g. K-패스 캐시백 지연 안내, 2026.05.06) — regulatory transparency placed above promotion.
|
|
124
|
+
- **Date stamps everywhere**: every notice carries `YYYY.MM.DD` prefix. Provenance > excitement.
|
|
125
|
+
- **Product naming**: short, formal nouns (`예적금 / 대출 / 카드 / 투자`) rather than benefit-led marketing names. Trust signal.
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## 8. Accessibility posture
|
|
130
|
+
|
|
131
|
+
- ✓ Skip-link present and styled for focus visibility.
|
|
132
|
+
- ✓ `lang="ko-KR"` declared.
|
|
133
|
+
- ✓ Semantic heading outline H1→H2→H3 is logical.
|
|
134
|
+
- ✗ No landmark elements (`<header>`, `<nav>`, `<main>`, `<footer>`).
|
|
135
|
+
- ✗ `font-size: 0` logo pattern requires explicit `aria-label` — not verified on this pass.
|
|
136
|
+
- ✗ Fixed 1280px canvas blocks responsive zoom on small viewports.
|
|
137
|
+
|
|
138
|
+
Overall: meaningful effort on focus order and language tagging; structural semantics behind 2026 norms.
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## 9. Voice (fresh paraphrase — NOT verbatim)
|
|
143
|
+
|
|
144
|
+
- Formal Korean, `~합니다` register throughout. K bank does not use Toss-style colloquial `~해요`.
|
|
145
|
+
- Headlines are nouns or noun-phrases, not promises. "예적금" not "돈을 모아보세요".
|
|
146
|
+
- Notices lead with the consequence and the date, then the explanation. Apology language is reserved and short.
|
|
147
|
+
|
|
148
|
+
**Don't write**: chatty contractions, emoji, second-person imperatives.
|
|
149
|
+
**Do write**: dated, dispassionate, action-noun headers with a single supporting sentence.
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## 10. What to steal (and what not to)
|
|
154
|
+
|
|
155
|
+
**Steal**
|
|
156
|
+
1. The dual-emitted token system (`--color-g*` and `--txt-g*` pointing at the same values) — lets product teams reason about role separately from value.
|
|
157
|
+
2. The single navy + single lime accent. Disciplined two-color brand.
|
|
158
|
+
3. Notice-above-promotion landing pattern. Trust-first IA.
|
|
159
|
+
4. Cool-tinted neutral ramp — keeps grays from clashing with the navy primary.
|
|
160
|
+
|
|
161
|
+
**Don't steal**
|
|
162
|
+
1. The 0px radius everywhere except CTA — reads dated in 2026 unless you're deliberately signalling "regulated institution".
|
|
163
|
+
2. Fixed 1280px canvas. Not viable for any modern surface.
|
|
164
|
+
3. `<div>`-only chrome. Use real landmarks.
|
|
165
|
+
4. `font-size: 0` image-replacement on H1 logo. Use SVG + `aria-label`.
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## 11. Open questions / gaps
|
|
170
|
+
|
|
171
|
+
- **Tier 1 official DS lookup — negative result documented.** K bank does **not** publish a public design system site (no `design.kbanknow.com`, no Figma community kit, no GitHub `kbank-design` org as of 2026-05-14). The `:root` token system shipped in production CSS is the closest public artifact. Compared to Toss (Toss Design System site) or Kakao (Kakao Design site), K bank has chosen not to externalise its system.
|
|
172
|
+
- Mobile-app token parity unknown — web tokens may diverge from in-app values.
|
|
173
|
+
- Motion / animation tokens not exposed to web; would need APK inspection to confirm.
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## 12. Sources & verification
|
|
178
|
+
|
|
179
|
+
- **Tier 1 — Live inspect (production)**: `https://www.kbanknow.com/ib20/mnu/PBKMAN000000` via CDP `:9222` / `Runtime.evaluate` / `getComputedStyle`. 6 raw element samples + 43 CSS variables + 7 observed color frequencies captured. See `assets/_reference/.live-inspect-proof.json`.
|
|
180
|
+
- **Tier 1 — Official DS site**: **No public design system found.** Searched: `design.kbanknow.com` (no DNS), GitHub `kbanknow` / `kbank` orgs (no design-system repo), Figma Community (no official K bank kit). Negative result documented here as authoritative.
|
|
181
|
+
- **Tier 2 — Third-party indexes**: `getdesign.md/kbank` empty; `styles.refero.design/?q=kbank` and `?q=케이뱅크` both empty. Consistent with the systemic finding logged in `2026-05-13-kr10.md` (Korean coverage is weak on English-tooling-oriented directories).
|
|
182
|
+
- **Tier 2 — Press / corp**: `kbanknow.com/ib20/mnu/PBKINT000000` (은행소개), DART filings (regulated bank, public disclosures).
|
|
183
|
+
- **Tier 3 — Reconciliation**: All §1-§3 tokens are Tier 1 live-captured. §6 IA is Tier 1 DOM-derived. §9 voice is Tier 1 observed (notices/headings on production), paraphrased only — no verbatim copy reused. §10-§11 are analyst interpretation.
|
|
184
|
+
|
|
185
|
+
**Conflicts unresolved**: none — Tier 1 live capture is the single source of truth on this pass, with negative Tier 1 official-DS result explicitly documented.
|
|
186
|
+
|
|
187
|
+
**Verified**: 2026-05-14.
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
## 13. IP & guardrails
|
|
192
|
+
|
|
193
|
+
- Brand assets (logo, name, navy `#0114A7`) referenced for inspiration only — not redistributed.
|
|
194
|
+
- No verbatim taglines or copy lifted from kbanknow.com. §9 voice paragraph is a fresh analyst paraphrase of register and structure, not transcription.
|
|
195
|
+
- Token values are facts (CSS custom property values) and not protectable expression; they are reproduced here for engineering reference under fair-use analytical purpose.
|
|
@@ -0,0 +1,423 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: kkday
|
|
3
|
+
name: KKday
|
|
4
|
+
country: TW
|
|
5
|
+
category: ecommerce
|
|
6
|
+
homepage: "https://www.kkday.com"
|
|
7
|
+
primary_color: "#FF5C00"
|
|
8
|
+
logo:
|
|
9
|
+
type: favicon
|
|
10
|
+
slug: "https://www.google.com/s2/favicons?domain=kkday.com&sz=128"
|
|
11
|
+
verified: "2026-05-19"
|
|
12
|
+
omd: "0.1"
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Design System Inspiration of KKday
|
|
16
|
+
|
|
17
|
+
## 1. Visual Theme & Atmosphere
|
|
18
|
+
|
|
19
|
+
KKday is a Taiwan-born online travel marketplace — the place a traveler books a tea-ceremony in Kyoto, a SIM card for Bangkok, or a high-speed-rail pass before a trip — and its design system is built for one job: turning the overwhelming abundance of "things to do" into a confident, scannable, conversion-ready surface. The atmosphere is **bright, warm, and energetic**, anchored by a saturated travel-orange (`#FF5C00`) that behaves like a sunrise over a white, photography-dense canvas. Where a luxury OTA might whisper in muted neutrals, KKday is unembarrassed about enthusiasm: orange CTAs, big colorful destination imagery, and price/discount signals that pop. The feel is closer to a vibrant night-market stall than a quiet concierge desk — abundance presented cleanly.
|
|
20
|
+
|
|
21
|
+
Typography runs a **locale-aware system stack** (no custom display typeface), leading with Latin system sans and layering Traditional Chinese (`PingFang TC`, `Microsoft JhengHei`), Simplified Chinese, Japanese, Korean, and Thai fallbacks — because KKday operates across 90+ markets and every traveler must read in their own script. Hierarchy is **weight- and color-driven**: bold product titles, bold prices, lighter metadata, with orange reserved for action and price-urgency. The layout is **card-grid first** — products, experiences, and destinations all resolve to image-led cards in responsive grids, optimized for browse-many-options behavior.
|
|
22
|
+
|
|
23
|
+
What distinguishes KKday from a generic e-commerce template is the discipline around its single hot color. Orange is the **action and conversion signal** — primary CTAs, "Book Now", sale badges, selected states — and the rest of the palette stays deliberately neutral so that orange always reads as "do this next." It is a high-density commerce surface engineered for a traveler comparing twelve tours at once, where warmth invites and orange directs.
|
|
24
|
+
|
|
25
|
+
**Key Characteristics:**
|
|
26
|
+
- **Travel-orange (`#FF5C00`)** as the singular hot/action color — CTAs, sale badges, selected states
|
|
27
|
+
- Locale-aware system font stack (TC / SC / JP / KR / TH fallbacks) — no custom typeface, design-as-localization
|
|
28
|
+
- White-dominant, photography-dense canvas — destination/experience imagery carries the page
|
|
29
|
+
- Card-grid-first layout for browse-many-options travel-marketplace behavior
|
|
30
|
+
- Weight + color drive hierarchy: bold titles, bold prices, neutral metadata
|
|
31
|
+
- Conservative radius (`8px` workhorse on cards/buttons, smaller on badges) for a clean commerce feel
|
|
32
|
+
- Price and discount signals are first-class — strikethrough originals, orange sale emphasis
|
|
33
|
+
- Trust signals everywhere — ratings, review counts, "instant confirmation", "free cancellation" chips
|
|
34
|
+
- Warm, enthusiastic, abundance-clean register — the night-market energy, organized
|
|
35
|
+
- Neutral gray scale for text hierarchy so orange never has to compete
|
|
36
|
+
|
|
37
|
+
## 2. Color Palette & Roles
|
|
38
|
+
|
|
39
|
+
> **Note:** Live computed-style verification was not completed this pass (the inspection browser session redirected unreliably). Values below combine the brief-provided primary, KKday's known orange-led commerce identity, and conventional OTA roles. Treat hexes other than the primary as well-grounded approximations pending live re-inspection.
|
|
40
|
+
|
|
41
|
+
### Primary (Action / Hot)
|
|
42
|
+
- **KKday Orange** (`#FF5C00`): Primary brand + action color. Primary CTAs ("Book Now", "Add to Cart"), selected states, key emphasis, sale signal. The sunrise.
|
|
43
|
+
- **Orange Hover** (`#E65300`): Darker press/hover state for orange CTAs.
|
|
44
|
+
- **Orange Tint** (`#FFF0E8`): Very light orange wash for selected-card backgrounds, highlight rows, soft emphasis surfaces.
|
|
45
|
+
|
|
46
|
+
### Surface & Background
|
|
47
|
+
- **Pure White** (`#FFFFFF`): Card surfaces, primary content background.
|
|
48
|
+
- **Surface Soft** (`#F7F7F8`): Grouped section background, page tint between white cards.
|
|
49
|
+
- **Surface Hover** (`#EEEEEF`): Hover/pressed neutral surface.
|
|
50
|
+
|
|
51
|
+
### Neutral / Text
|
|
52
|
+
- **Text Primary** (`#1A1A1A`): Headings, product titles, prices. Near-black for maximum legibility against dense imagery.
|
|
53
|
+
- **Text Secondary** (`#4A4A4A`): Secondary copy, descriptions.
|
|
54
|
+
- **Text Muted** (`#888888`): Metadata, timestamps, location labels, captions.
|
|
55
|
+
- **Text Disabled** (`#BDBDBD`): Disabled labels, strikethrough original prices.
|
|
56
|
+
|
|
57
|
+
### Borders & Dividers
|
|
58
|
+
- **Border Light** (`#E5E5E6`): Row dividers, soft separators.
|
|
59
|
+
- **Border Mid** (`#D9D9D9`): Component borders (inputs, outlined cards, secondary button outline).
|
|
60
|
+
|
|
61
|
+
### Semantic
|
|
62
|
+
- **Success / Confirmed** (`#1FA463`): "Instant confirmation", availability, success toasts. Travel-green, trustworthy.
|
|
63
|
+
- **Warning** (`#F5A623`): Limited-availability, "only 2 left" urgency. Amber, distinct from the orange action color.
|
|
64
|
+
- **Error / Danger** (`#E0353B`): Form validation, failed payment, destructive actions.
|
|
65
|
+
- **Rating Gold** (`#FFB400`): Review-star fills — the trust signal color, separate from the orange brand.
|
|
66
|
+
|
|
67
|
+
### Accent (legacy)
|
|
68
|
+
- **Heritage Teal** (`#26BEC9`): An older KKday brand teal documented in brand-asset aggregators; treat as a legacy/secondary accent, not the current primary. Modern surfaces lead with orange.
|
|
69
|
+
|
|
70
|
+
## 3. Typography Rules
|
|
71
|
+
|
|
72
|
+
### Font Stack (locale-aware, inferred from OTA/TW conventions)
|
|
73
|
+
| Locale | Stack |
|
|
74
|
+
|---|---|
|
|
75
|
+
| Default | `-apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif` |
|
|
76
|
+
| Traditional Chinese | `… "PingFang TC", "Microsoft JhengHei", sans-serif` |
|
|
77
|
+
| Simplified Chinese | `… "PingFang SC", "Microsoft YaHei", sans-serif` |
|
|
78
|
+
| Japanese | `… "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif` |
|
|
79
|
+
| Korean | `… "Apple SD Gothic Neo", "Malgun Gothic", sans-serif` |
|
|
80
|
+
| Thai | `… "Thonburi", "Noto Sans Thai", sans-serif` |
|
|
81
|
+
|
|
82
|
+
No custom web font — system stacks keep LCP fast across slow APAC connections and respect each market's native reading habits.
|
|
83
|
+
|
|
84
|
+
### Weights
|
|
85
|
+
- **700 (Bold)**: Product titles, prices, section headings, CTA emphasis.
|
|
86
|
+
- **600 (Semibold)**: Subheads, button labels, selected tabs.
|
|
87
|
+
- **400 (Regular)**: Body, descriptions, metadata.
|
|
88
|
+
|
|
89
|
+
### Size Scale (px, inferred)
|
|
90
|
+
| Use | Size |
|
|
91
|
+
|---|---|
|
|
92
|
+
| Caption / meta | `12px` |
|
|
93
|
+
| Body small / location label | `13px` |
|
|
94
|
+
| Body / card title | `14–16px` |
|
|
95
|
+
| Price | `16–20px` (bold) |
|
|
96
|
+
| Card heading | `18–20px` |
|
|
97
|
+
| Section heading | `22–24px` |
|
|
98
|
+
| Hero headline | `28–36px` |
|
|
99
|
+
|
|
100
|
+
### Conventions
|
|
101
|
+
- **Hierarchy is weight + color**, not extreme size — commerce density favors compact headings (16–20px) over 48px display type.
|
|
102
|
+
- **Prices are bold and prominent**; original (pre-discount) prices use `text-decoration: line-through` in muted gray.
|
|
103
|
+
- **Star ratings + review counts** sit next to titles as compact trust signals (`4.8 · 1,240`).
|
|
104
|
+
- **Numerals flow with prose** — no forced tabular figures except in pricing tables.
|
|
105
|
+
|
|
106
|
+
## 4. Component Stylings
|
|
107
|
+
|
|
108
|
+
### Buttons
|
|
109
|
+
|
|
110
|
+
**Primary (Book / Action)**
|
|
111
|
+
- Background: `#FF5C00`
|
|
112
|
+
- Text: `#FFFFFF`
|
|
113
|
+
- Border: none
|
|
114
|
+
- Radius: `8px`
|
|
115
|
+
- Padding: `10px 20px`
|
|
116
|
+
- Font: `16px` / `600`
|
|
117
|
+
- Hover: bg `#E65300`
|
|
118
|
+
- Use: "Book Now", "Add to Cart", primary conversion CTA
|
|
119
|
+
|
|
120
|
+
**Secondary (Outlined)**
|
|
121
|
+
- Background: `#FFFFFF`
|
|
122
|
+
- Text: `#1A1A1A`
|
|
123
|
+
- Border: `1px solid #D9D9D9`
|
|
124
|
+
- Radius: `8px`
|
|
125
|
+
- Padding: `10px 20px`
|
|
126
|
+
- Font: `16px` / `600`
|
|
127
|
+
- Hover: bg `#F7F7F8`
|
|
128
|
+
- Use: "View Details", neutral/secondary actions
|
|
129
|
+
|
|
130
|
+
**Ghost / Text**
|
|
131
|
+
- Background: transparent
|
|
132
|
+
- Text: `#FF5C00`
|
|
133
|
+
- Radius: `8px`
|
|
134
|
+
- Padding: `8px 12px`
|
|
135
|
+
- Use: Inline tertiary actions, "See more"
|
|
136
|
+
|
|
137
|
+
### Inputs
|
|
138
|
+
|
|
139
|
+
**Default**
|
|
140
|
+
- Background: `#FFFFFF`
|
|
141
|
+
- Text: `#1A1A1A`
|
|
142
|
+
- Border: `1px solid #D9D9D9`
|
|
143
|
+
- Radius: `8px`
|
|
144
|
+
- Padding: `10px 14px`
|
|
145
|
+
- Font: `16px` / `400`
|
|
146
|
+
- Focus: border `#FF5C00`
|
|
147
|
+
- Error: border `#E0353B`
|
|
148
|
+
- Use: Search, traveler details, contact forms
|
|
149
|
+
|
|
150
|
+
**Search (hero)**
|
|
151
|
+
- Background: `#FFFFFF`
|
|
152
|
+
- Border: `1px solid #D9D9D9` (or shadowed pill on hero)
|
|
153
|
+
- Radius: `8px`
|
|
154
|
+
- Trailing: orange search-submit button (`#FF5C00`)
|
|
155
|
+
- Use: Destination/experience search — the primary discovery entry point
|
|
156
|
+
|
|
157
|
+
### Cards
|
|
158
|
+
|
|
159
|
+
**Experience Card**
|
|
160
|
+
- Background: `#FFFFFF`
|
|
161
|
+
- Border: `1px solid #E5E5E6` (or shadow-separated)
|
|
162
|
+
- Radius: `8px`
|
|
163
|
+
- Padding: `0` (image-led top, padded body)
|
|
164
|
+
- Use: Grid product card — image, title (2-line clamp), rating + review count, price (bold), trust chips
|
|
165
|
+
|
|
166
|
+
**Destination Card**
|
|
167
|
+
- Background: image-led with gradient overlay
|
|
168
|
+
- Radius: `8px`
|
|
169
|
+
- Text: white overlay on darkened image bottom
|
|
170
|
+
- Use: Destination discovery tiles
|
|
171
|
+
|
|
172
|
+
### Badges & Chips
|
|
173
|
+
|
|
174
|
+
**Sale Badge**
|
|
175
|
+
- Background: `#FF5C00`
|
|
176
|
+
- Text: `#FFFFFF`
|
|
177
|
+
- Radius: `4px`
|
|
178
|
+
- Padding: `2px 6px`
|
|
179
|
+
- Font: `12px` / `700`
|
|
180
|
+
- Use: Discount/sale ribbon on product image
|
|
181
|
+
|
|
182
|
+
**Trust Chip**
|
|
183
|
+
- Background: `#FFF0E8` or `#FFFFFF`
|
|
184
|
+
- Text: `#1FA463` (confirmed) / `#1A1A1A`
|
|
185
|
+
- Radius: `4px`
|
|
186
|
+
- Padding: `2px 8px`
|
|
187
|
+
- Font: `12px` / `500`
|
|
188
|
+
- Use: "Instant confirmation", "Free cancellation", "Mobile voucher"
|
|
189
|
+
|
|
190
|
+
**Urgency Chip**
|
|
191
|
+
- Background: transparent
|
|
192
|
+
- Text: `#F5A623`
|
|
193
|
+
- Font: `12px` / `600`
|
|
194
|
+
- Use: "Only 2 left", "Selling fast"
|
|
195
|
+
|
|
196
|
+
### Navigation
|
|
197
|
+
- Sticky white header: logo left, search center, locale/currency + account right
|
|
198
|
+
- Category mega-menu on hover (Tours, Tickets, Transport, SIM/WiFi, Hotels)
|
|
199
|
+
- Nav links `14–16px` / `400–500`, orange active/hover accent
|
|
200
|
+
|
|
201
|
+
## 5. Layout Principles
|
|
202
|
+
|
|
203
|
+
### Grid
|
|
204
|
+
- Responsive card grid: 4 columns desktop → 3 → 2 → 1 mobile
|
|
205
|
+
- Container max-width ~1200px, centered, with consistent gutters
|
|
206
|
+
- Horizontal scroll carousels for curated collections (destinations, "popular near you")
|
|
207
|
+
|
|
208
|
+
### Spacing
|
|
209
|
+
- 8px-based spacing scale
|
|
210
|
+
- Tight card internals (8–12px), generous section rhythm (40–64px)
|
|
211
|
+
|
|
212
|
+
### Density
|
|
213
|
+
KKday is **medium-high density** — a traveler compares many options at once, so cards pack efficiently while staying scannable. Whitespace is functional (separating cards, framing imagery), not luxurious.
|
|
214
|
+
|
|
215
|
+
## 6. Depth & Elevation
|
|
216
|
+
|
|
217
|
+
KKday leans **mostly flat with soft commerce shadows**. Cards separate via a 1px border or a subtle shadow; orange CTAs are flat (color is the weight).
|
|
218
|
+
|
|
219
|
+
- **Card shadow**: `0 2px 8px rgba(0,0,0,0.08)` — soft lift on hover for grid cards
|
|
220
|
+
- **Sticky header**: `0 1px 4px rgba(0,0,0,0.06)` on scroll
|
|
221
|
+
- **Dropdown / mega-menu**: `0 4px 16px rgba(0,0,0,0.12)`
|
|
222
|
+
- **Modal**: `0 8px 32px rgba(0,0,0,0.2)`
|
|
223
|
+
- Buttons carry **no shadow** — flat orange does the work.
|
|
224
|
+
|
|
225
|
+
### Z-Index
|
|
226
|
+
- Sticky header above content; mega-menu above header; modals above all chrome; toasts highest.
|
|
227
|
+
|
|
228
|
+
## 7. Do's and Don'ts
|
|
229
|
+
|
|
230
|
+
- **DO** reserve orange (`#FF5C00`) for action and conversion — primary CTAs, sale badges, selected states.
|
|
231
|
+
- **DON'T** flood layouts with orange. It signals "do this next" only because the rest is neutral.
|
|
232
|
+
- **DO** use the locale-aware font stack with the user's language fallback second.
|
|
233
|
+
- **DON'T** load a single custom web font — system stacks respect each market and keep APAC LCP fast.
|
|
234
|
+
- **DO** keep cards image-led with bold titles, bold prices, and compact trust chips.
|
|
235
|
+
- **DON'T** bury price or rating — they are primary scan targets for a comparing traveler.
|
|
236
|
+
- **DO** use `8px` radius on cards/buttons, `4px` on badges.
|
|
237
|
+
- **DON'T** use pill-fully-rounded CTAs — they break the clean commerce density.
|
|
238
|
+
- **DO** distinguish urgency-amber (`#F5A623`) from action-orange (`#FF5C00`) and success-green (`#1FA463`).
|
|
239
|
+
- **DON'T** conflate the brand orange with the error red or rating gold.
|
|
240
|
+
- **DO** show trust chips ("Instant confirmation", "Free cancellation") — they reduce booking anxiety.
|
|
241
|
+
- **DON'T** use shouty discount adjectives; the sale badge + strikethrough price carry the message.
|
|
242
|
+
|
|
243
|
+
## 8. Responsive Behavior
|
|
244
|
+
|
|
245
|
+
### Breakpoints
|
|
246
|
+
| Width | Behavior |
|
|
247
|
+
|---|---|
|
|
248
|
+
| Desktop `>1200px` | 4-column grid, full nav + mega-menu, centered container |
|
|
249
|
+
| Laptop `1024–1200px` | 3–4 column grid, condensed nav |
|
|
250
|
+
| Tablet `768–1024px` | 2–3 column grid, search collapses |
|
|
251
|
+
| Mobile `<768px` | 1–2 column grid, hamburger nav, full-width orange CTAs, sticky bottom "Book" bar on product pages |
|
|
252
|
+
|
|
253
|
+
### Touch & Mobile
|
|
254
|
+
- Full-width primary CTA at viewport bottom on product detail (sticky book bar)
|
|
255
|
+
- Filter sidebar becomes a bottom sheet
|
|
256
|
+
- Horizontal carousels for curated collections
|
|
257
|
+
- Large tap targets (44px+) on cards and CTAs
|
|
258
|
+
|
|
259
|
+
### Image Behavior
|
|
260
|
+
- Destination/experience images dominate cards; `object-fit: cover`, fixed aspect ratio
|
|
261
|
+
- Lazy-load + responsive srcset; WebP standard
|
|
262
|
+
|
|
263
|
+
## 9. Agent Prompt Guide
|
|
264
|
+
|
|
265
|
+
### Quick Color Reference
|
|
266
|
+
- Primary / action: KKday Orange (`#FF5C00`); hover `#E65300`; tint `#FFF0E8`
|
|
267
|
+
- Text primary: `#1A1A1A`; muted: `#888888`
|
|
268
|
+
- Surface: white `#FFFFFF`; soft `#F7F7F8`
|
|
269
|
+
- Border: `#D9D9D9`
|
|
270
|
+
- Success: `#1FA463`; Warning/urgency: `#F5A623`; Error: `#E0353B`; Rating gold: `#FFB400`
|
|
271
|
+
|
|
272
|
+
### Example Component Prompts
|
|
273
|
+
- "Create a KKday experience card: white bg, 8px radius, 1px solid #E5E5E6, image fills top with `object-fit: cover`, sale badge top-left (`#FF5C00` bg, white, 4px radius, 12px/700), body padding 12px, title 16px/700 #1A1A1A (2-line clamp), rating row `4.8 · 1,240` in 13px #888888 with #FFB400 stars, price 18px/700 #1A1A1A with strikethrough original in muted gray, trust chip 'Instant confirmation' in #1FA463."
|
|
274
|
+
- "Build a KKday primary CTA: `#FF5C00` bg, white text, 8px radius, 16px/600, padding 10px 20px, no shadow. Hover bg `#E65300`. Label 'Book Now'."
|
|
275
|
+
- "Design a KKday hero search: white pill/box, 1px solid #D9D9D9, 8px radius, destination input + date + travelers, trailing orange (`#FF5C00`) search button. Soft shadow `0 4px 16px rgba(0,0,0,0.12)`."
|
|
276
|
+
- "Create a sticky mobile book-bar: white bar at viewport bottom, price left (18px/700), full-width-ish orange 'Book Now' CTA right (`#FF5C00`, 8px radius)."
|
|
277
|
+
|
|
278
|
+
### Iteration Guide
|
|
279
|
+
1. **Orange is action; keep the rest neutral.** It must always read as "do this next."
|
|
280
|
+
2. **Locale-aware font stack, never a single custom font.**
|
|
281
|
+
3. **Cards: image-led, bold title, bold price, trust chips.** Price and rating are primary scan targets.
|
|
282
|
+
4. **8px radius (cards/buttons), 4px (badges).** No fully-rounded CTAs.
|
|
283
|
+
5. **Separate the warm colors:** action-orange ≠ urgency-amber ≠ rating-gold ≠ success-green.
|
|
284
|
+
6. **Medium-high density** — travelers compare many options; pack cards, ration whitespace.
|
|
285
|
+
7. **Trust chips reduce booking anxiety** — surface confirmation/cancellation policy.
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
## 10. Voice & Tone
|
|
290
|
+
|
|
291
|
+
KKday speaks like an enthusiastic local friend who has actually done the tour — warm, specific, and encouraging, never pushy. The register is **inviting and benefit-led**: it sells the feeling of the experience ("explore", "dream", "discover") and backs it with concrete trust ("instant confirmation", "free cancellation"). The brand is genuinely multilingual — Traditional Chinese, English, Japanese, Korean, Thai, and more are first-class voices authored per market, not translated from one master. Copy avoids hard-sell discount-shouting; urgency, when present, is factual ("only 2 left") rather than manipulative. The homepage line "EXPLORE. DREAM. DISCOVER" captures the tone — aspirational verbs, clean and unhyped.
|
|
292
|
+
|
|
293
|
+
| Context | Tone |
|
|
294
|
+
|---|---|
|
|
295
|
+
| Hero / discovery | Aspirational verbs. `Explore. Dream. Discover.` Invitational, not transactional. |
|
|
296
|
+
| CTAs | Imperative + concrete. `Book Now`, `Add to Cart`, `See availability`. No trailing exclamation. |
|
|
297
|
+
| Trust chips | Factual reassurance. `Instant confirmation`, `Free cancellation`, `Mobile voucher`. |
|
|
298
|
+
| Urgency | Factual scarcity only. `Only 2 left` — never `BUY NOW OR MISS OUT!`. |
|
|
299
|
+
| Product copy | Specific and experiential — what you'll see/do/taste, with practical logistics. |
|
|
300
|
+
| Empty states | One-line reason + one suggested next destination/category. Never terminal "No results". |
|
|
301
|
+
| Errors | Blameless, field-specific, actionable. |
|
|
302
|
+
| Success (booking) | Confirm what happened + next step (voucher in app / view booking). |
|
|
303
|
+
|
|
304
|
+
**Forbidden phrases.** Manipulative urgency (`HURRY!`, `LAST CHANCE!`), `Oops! Something went wrong` without a reason, `No results found.` as a dead end, hype superlatives without substance (`the best tour in the world`), approximate prices (always show exact amount in the user's currency), emoji on checkout/payment screens, Simplified-Chinese characters on TW-Traditional surfaces.
|
|
305
|
+
|
|
306
|
+
**Voice samples.**
|
|
307
|
+
- `EXPLORE. DREAM. DISCOVER` — homepage hero positioning <!-- verified: kkday.com/en-us hero copy via WebSearch result 2026-05-19 -->
|
|
308
|
+
- `Book Now` — primary conversion CTA <!-- illustrative/conventional: standard OTA CTA, not independently re-verified on live KKday surface this pass -->
|
|
309
|
+
- `Instant confirmation · Free cancellation` — trust chips on experience cards <!-- illustrative: conventional KKday trust signals; not live-verified this pass -->
|
|
310
|
+
- `Only 2 spots left for this date` — illustrative factual-urgency string <!-- illustrative: not verified as live KKday copy -->
|
|
311
|
+
- `No experiences match these filters yet — try a nearby date or city.` — illustrative empty state <!-- illustrative: not verified as live KKday copy -->
|
|
312
|
+
|
|
313
|
+
## 11. Brand Narrative
|
|
314
|
+
|
|
315
|
+
KKday was founded in **2014 in Taipei, Taiwan**, by **Ming Chen** — a travel-industry veteran who had previously built and taken Star Travel and Ezfly to IPO ([en.wikipedia.org/wiki/KKday](https://en.wikipedia.org/wiki/KKday)). The thesis: while flights and hotels had been commoditized online for years, the **"things to do" layer of travel — the tea ceremony, the day tour, the airport transfer, the local SIM card — remained fragmented, offline, and language-locked.** KKday set out to be the marketplace that aggregates curated local experiences and makes them bookable, in your language, before you land.
|
|
316
|
+
|
|
317
|
+
The design language is the product-surface expression of that thesis. Travel is overwhelming — there are thousands of things to do in any destination — so the system is engineered to make abundance feel **navigable and trustworthy** rather than chaotic: image-led cards for fast visual scanning, bold prices and ratings as decision anchors, and trust chips (instant confirmation, free cancellation) that defuse the anxiety of booking an experience in a place you've never been. The saturated orange is the warmth of anticipation made into an action color — the "yes, do this" of trip-planning.
|
|
318
|
+
|
|
319
|
+
KKday now operates across **90+ countries with over 300,000 curated experiences**, has raised over **US$250 million** across funding rounds (Series D of $70M in late 2024, with Japanese travel giant **H.I.S.** among its investors), and has expanded from a pure activities marketplace toward an **all-in-one travel super-app** spanning tours, tickets, transport, hotels, SIM/WiFi, and rail passes — while operating B2B and luxury-travel subsidiaries (Rezio, FineDayClub, ActivityJapan). ([en.wikipedia.org/wiki/KKday](https://en.wikipedia.org/wiki/KKday)) <!-- source: Wikipedia via WebFetch 2026-05-19; metrics not independently audited -->
|
|
320
|
+
|
|
321
|
+
## 12. Principles
|
|
322
|
+
|
|
323
|
+
1. **Orange is the path, not the paint.** The hot orange exists to point a comparing traveler at the next action. *UI implication:* One dominant orange action per decision moment (the Book CTA, the selected date). Keep surrounding surfaces neutral so orange always means "proceed."
|
|
324
|
+
|
|
325
|
+
2. **Abundance must feel navigable.** Travelers face thousands of options; the system's job is fast, confident comparison. *UI implication:* Card grids with consistent anchors — image, title, rating, price, trust chip in the same position every time. Predictable layout lowers cognitive load across many cards.
|
|
326
|
+
|
|
327
|
+
3. **Trust is a component, not a footnote.** Booking an experience abroad is anxious; reassurance must be visible at the moment of decision. *UI implication:* Surface instant-confirmation / free-cancellation / mobile-voucher chips on the card and the CTA area — not buried in fine print.
|
|
328
|
+
|
|
329
|
+
4. **Locale is infrastructure.** Every traveler reads in their own script; the brand is authored per market. *UI implication:* Always use the full locale-aware font stack; route microcopy through locale bundles; show prices in the user's currency exactly.
|
|
330
|
+
|
|
331
|
+
5. **Honest urgency only.** Scarcity signals must be factual, never manufactured. *UI implication:* Use amber `#F5A623` for real low-availability states; never use countdown manipulation or fake "selling fast" without data behind it.
|
|
332
|
+
|
|
333
|
+
6. **The image is the salesperson.** Experiences are bought on the feeling the photo evokes. *UI implication:* Cards are image-led with consistent aspect ratios and quality bars; chrome stays minimal so the destination carries the page.
|
|
334
|
+
|
|
335
|
+
## 13. Personas
|
|
336
|
+
|
|
337
|
+
*Personas are fictional archetypes informed by publicly described KKday user segments (TW/HK/JP independent travelers and APAC outbound tourists), not individual people.*
|
|
338
|
+
|
|
339
|
+
**怡君 (Yi-Jun), 28, Taipei.** Plans her own trips meticulously, opens KKday weeks before departure to pre-book day tours, airport transfers, and a SIM card for Japan. Compares a dozen tour options on rating and price, and will only book ones with "instant confirmation" because she finalizes her itinerary the night before flying.
|
|
340
|
+
|
|
341
|
+
**Kenji, 35, Osaka.** Books last-minute weekend experiences and theme-park tickets to skip ticket lines. Uses the mobile app almost exclusively, values mobile-voucher delivery, and cares most about whether the voucher works at the gate without a printout.
|
|
342
|
+
|
|
343
|
+
**Wing, 24, Hong Kong.** Budget-conscious solo traveler who discovers experiences through curated collections and social posts, bookmarks tours to a wishlist, and waits for a sale badge before booking. Reads reviews carefully and abandons anything with opaque cancellation terms.
|
|
344
|
+
|
|
345
|
+
## 14. States
|
|
346
|
+
|
|
347
|
+
| State | Treatment |
|
|
348
|
+
|---|---|
|
|
349
|
+
| **Empty (search no results)** | One `#888888` line explaining the zero-match in the user's terms + 3–5 suggested nearby-date / nearby-city chips. Never a terminal "No results". |
|
|
350
|
+
| **Empty (wishlist)** | One-line `#888888` explanation + secondary CTA to browse a popular destination. No illustration required. |
|
|
351
|
+
| **Loading (grid first paint)** | Skeleton cards at `#F7F7F8` with 8px radius matching final cards; image area fixed-aspect, title/price as gray bars. Shimmer ~1.2s. No spinner. |
|
|
352
|
+
| **Loading (inline action — booking)** | Orange CTA holds width; label swaps to a white 3-dot/spinner; prevents double-tap and layout shift. |
|
|
353
|
+
| **Error (form field)** | Border switches to `1px solid #E0353B`; helper text below in `#E0353B` 12px; field-specific and blameless. |
|
|
354
|
+
| **Error (payment declined)** | Escalated card at checkout top, `#E0353B` accent, one blameless sentence describing the decline + single retry in `#FF5C00`. No generic "Something went wrong" alone. |
|
|
355
|
+
| **Success (added to cart)** | Toast top-right, dark bg, white 14px text, 3s auto-dismiss, "View cart" action. No celebratory animation. |
|
|
356
|
+
| **Success (booking confirmed)** | Dedicated confirmation screen — order number, voucher access, per-experience date/time. Not a toast. No orange CTA here (the purchase moment is past). |
|
|
357
|
+
| **Skeleton** | `#F7F7F8` blocks at exact card dimensions; price placeholder renders as `—` in the user's currency, never `$0`. |
|
|
358
|
+
| **Disabled (button)** | Faded fill, `#BDBDBD` text, geometry preserved so re-enabled controls don't shift. |
|
|
359
|
+
|
|
360
|
+
## 15. Motion & Easing
|
|
361
|
+
|
|
362
|
+
KKday motion is **brisk and commerce-functional** — fast feedback, no theatrics.
|
|
363
|
+
|
|
364
|
+
**Durations:**
|
|
365
|
+
| Token | Value | Use |
|
|
366
|
+
|---|---|---|
|
|
367
|
+
| `motion-instant` | 0ms | Toggle flips, reduce-motion fallback |
|
|
368
|
+
| `motion-fast` | 120ms | Hover/press on cards, buttons, links |
|
|
369
|
+
| `motion-standard` | 200ms | Dropdowns, mega-menu, tooltip fades, cart-count update |
|
|
370
|
+
| `motion-slow` | 300ms | Modal open, filter bottom-sheet slide, image lightbox |
|
|
371
|
+
| `motion-page` | 250ms | Route transition + top progress bar |
|
|
372
|
+
|
|
373
|
+
**Easings:**
|
|
374
|
+
| Token | Curve | Use |
|
|
375
|
+
|---|---|---|
|
|
376
|
+
| `ease-standard` | `cubic-bezier(0.4, 0, 0.2, 1)` | Default two-way transitions |
|
|
377
|
+
| `ease-enter` | `cubic-bezier(0, 0, 0.2, 1)` | Things appearing — modals, sheets, toasts |
|
|
378
|
+
| `ease-exit` | `cubic-bezier(0.4, 0, 1, 1)` | Dismissals |
|
|
379
|
+
|
|
380
|
+
**Spring stance.** Spring/overshoot is **avoided** — KKday is a high-density commerce surface where bouncy motion fights fast comparison and reads as a flash-sale tic. Add-to-cart and booking confirmations resolve cleanly, not elastically.
|
|
381
|
+
|
|
382
|
+
**Signature motions.**
|
|
383
|
+
1. **Card hover (desktop).** Subtle lift via shadow fade-in (`0 2px 8px rgba(0,0,0,0.08)`) over `motion-fast`; optional alternate-image swap. No scale jump.
|
|
384
|
+
2. **Filter bottom-sheet.** On mobile, the filter panel slides up over `motion-slow / ease-enter`; backdrop fades in. Dismiss reverses with `ease-exit`.
|
|
385
|
+
3. **Cart-count badge.** On add-to-cart, the cart badge count updates with a quiet `motion-standard` fade — no bounce.
|
|
386
|
+
4. **Carousel scroll.** Curated-collection carousels scroll-snap with `ease-standard`; arrows fade in on hover (desktop).
|
|
387
|
+
|
|
388
|
+
**Reduce motion.** Under `prefers-reduced-motion: reduce`, all `motion-*` collapse to `motion-instant`; sheet slides become instant opacity toggles; progress bar hidden. Hover color/shadow state changes still apply.
|
|
389
|
+
|
|
390
|
+
<!--
|
|
391
|
+
OmD v0.1 Sources — kkday
|
|
392
|
+
Created: 2026-05-19
|
|
393
|
+
|
|
394
|
+
Tier 1 (attempted): live computed-style inspection of kkday.com was NOT completed — WebFetch
|
|
395
|
+
returned HTTP 403 (bot challenge) and the Playwright MCP session redirected to injected ad
|
|
396
|
+
interstitials, making a clean DOM read impossible this pass. primary_color #FF5C00 is the
|
|
397
|
+
creation-brief-provided value and matches KKday's known orange-led commerce identity, but the
|
|
398
|
+
exact production hex and the secondary palette in §2 are NOT live-verified — they are well-grounded
|
|
399
|
+
approximations. A future omd:add-reference UPDATE pass with a working browser should confirm.
|
|
400
|
+
|
|
401
|
+
Note: brandcolorcode.com/kkday documents a HERITAGE teal #26BEC9 (Pantone 319C) and explicitly
|
|
402
|
+
states "These color values have not been given explicitly in the KKday brand guidelines." The
|
|
403
|
+
modern KKday product surface leads with orange; teal is treated as a legacy/secondary accent in §2.
|
|
404
|
+
|
|
405
|
+
Tier 2 (philosophy/founders):
|
|
406
|
+
- en.wikipedia.org/wiki/KKday (WebFetch 2026-05-19) — founded 2014 Taipei by Ming Chen (ex Star
|
|
407
|
+
Travel / Ezfly); OTA experiences marketplace; 90+ countries, 300k+ experiences; >$250M raised,
|
|
408
|
+
Series D $70M late 2024; H.I.S. investor; subsidiaries Rezio / FineDayClub / ActivityJapan.
|
|
409
|
+
- kkday.com/en-us hero "EXPLORE. DREAM. DISCOVER" (WebSearch result 2026-05-19).
|
|
410
|
+
- lilingh.com/projects/kkday — UX case study noting brand-color-on-white contrast was too low and
|
|
411
|
+
button shades were adjusted for WCAG (informs the orange-hover / accessibility note).
|
|
412
|
+
|
|
413
|
+
Illustrative (not verified as live copy): CTA/trust-chip/empty/error strings, type scale, semantic
|
|
414
|
+
hexes, font stack (inferred from OTA + TW conventions). Marked inline. Personas fictional (§13).
|
|
415
|
+
-->
|
|
416
|
+
|
|
417
|
+
---
|
|
418
|
+
|
|
419
|
+
**Verified:** 2026-05-19
|
|
420
|
+
**Tier 1 sources:** kkday.com — live inspect NOT completed (403 + browser redirect); primary `#FF5C00` is brief-provided and matches KKday's orange-led identity (hexes other than primary are grounded approximations pending live re-inspection). kkday.com/en-us hero "EXPLORE. DREAM. DISCOVER" (WebSearch).
|
|
421
|
+
**Tier 2 sources:** brandcolorcode.com/kkday (heritage teal `#26BEC9`, noted as legacy/unofficial); lilingh.com KKday UX case study (WCAG contrast note).
|
|
422
|
+
**Tier 2 (Philosophy/founders):** Wikipedia (KKday — Ming Chen / 2014 Taipei / 90+ countries / H.I.S. / $250M+).
|
|
423
|
+
**Style ref:** `pinkoi` (TW commerce tone). **Conflicts unresolved:** exact production hexes beyond primary not live-verified this pass (browser session unreliable) — flagged for UPDATE.
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: kraken
|
|
3
|
+
name: Kraken
|
|
4
|
+
country: US
|
|
5
|
+
category: fintech
|
|
6
|
+
homepage: "https://www.kraken.com"
|
|
7
|
+
primary_color: "#5741d9"
|
|
8
|
+
logo:
|
|
9
|
+
type: github
|
|
10
|
+
slug: krakenfx
|
|
11
|
+
verified: "2026-05-15"
|
|
12
|
+
omd: "0.1"
|
|
13
|
+
---
|
|
14
|
+
|
|
1
15
|
# Design System Inspiration of Kraken
|
|
2
16
|
|
|
3
17
|
## 1. Visual Theme & Atmosphere
|