oh-my-design-cli 1.6.0 → 1.6.2
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/AGENTS.md +1 -1
- package/README.ko.md +12 -0
- package/README.md +49 -0
- package/data/reference-fingerprints.json +957 -2
- package/dist/bin/oh-my-design.js +4 -3
- package/dist/bin/oh-my-design.js.map +1 -1
- package/dist/{install-skills-IETT2TBJ.js → install-skills-6QFSN5BN.js} +108 -42
- package/dist/install-skills-6QFSN5BN.js.map +1 -0
- package/package.json +9 -3
- package/scripts/postinstall.cjs +6 -6
- package/skills/claude-design/SKILL.md +385 -0
- package/skills/claude-design/references/claude-design-flow.md +425 -0
- package/skills/claude-design/references/codebase-analysis.md +373 -0
- package/skills/claude-design/scripts/analyze_codebase.py +1369 -0
- package/skills/claude-design/scripts/clickable_link.sh +48 -0
- package/skills/claude-design/scripts/collect_source.py +178 -0
- package/skills/claude-design/scripts/drive_claude_design.cjs +378 -0
- package/skills/claude-design/scripts/gather_references.py +437 -0
- package/web/references/91app/DESIGN.md +151 -0
- package/web/references/airtable/DESIGN.md +16 -2
- package/web/references/bithumb/DESIGN.md +170 -0
- package/web/references/bunjang/DESIGN.md +20 -1
- package/web/references/cakeresume/DESIGN.md +162 -0
- package/web/references/catchtable/DESIGN.md +19 -0
- package/web/references/classting/DESIGN.md +251 -0
- package/web/references/classum/DESIGN.md +19 -0
- package/web/references/coinone/DESIGN.md +218 -0
- package/web/references/dabang/DESIGN.md +19 -0
- package/web/references/devsisters/DESIGN.md +253 -0
- package/web/references/dji/DESIGN.md +0 -1
- package/web/references/drnow/DESIGN.md +331 -0
- package/web/references/fastcampus/DESIGN.md +19 -0
- package/web/references/flex/DESIGN.md +19 -0
- package/web/references/flo/DESIGN.md +306 -0
- package/web/references/fugle/DESIGN.md +250 -0
- package/web/references/gmarket/DESIGN.md +19 -0
- package/web/references/gogolook/DESIGN.md +131 -0
- package/web/references/grip/DESIGN.md +250 -0
- package/web/references/hahow/DESIGN.md +158 -0
- package/web/references/hogangnono/DESIGN.md +308 -0
- package/web/references/hyundaicard/DESIGN.md +177 -0
- package/web/references/inflearn/DESIGN.md +19 -0
- package/web/references/jkopay/DESIGN.md +249 -0
- package/web/references/jobkorea/DESIGN.md +310 -0
- package/web/references/kbank/DESIGN.md +18 -0
- package/web/references/kdan/DESIGN.md +160 -0
- package/web/references/kkbox/DESIGN.md +114 -0
- package/web/references/krafton/DESIGN.md +230 -0
- package/web/references/kream/DESIGN.md +18 -0
- package/web/references/laftel/DESIGN.md +253 -0
- package/web/references/lezhin/DESIGN.md +301 -0
- package/web/references/lunit/DESIGN.md +19 -0
- package/web/references/melon/DESIGN.md +153 -0
- package/web/references/momoshop/DESIGN.md +279 -0
- package/web/references/mustit/DESIGN.md +282 -0
- package/web/references/nhncloud/DESIGN.md +174 -0
- package/web/references/oliveyoung/DESIGN.md +19 -0
- package/web/references/payco/DESIGN.md +227 -0
- package/web/references/piccollage/DESIGN.md +277 -0
- package/web/references/rayark/DESIGN.md +132 -0
- package/web/references/riiid/DESIGN.md +228 -0
- package/web/references/sendbird/DESIGN.md +285 -0
- package/web/references/socar/DESIGN.md +18 -0
- package/web/references/toss-securities/DESIGN.md +19 -0
- package/web/references/trenbe/DESIGN.md +252 -0
- package/web/references/tving/DESIGN.md +18 -0
- package/web/references/upbit/DESIGN.md +19 -0
- package/web/references/upstage/DESIGN.md +18 -0
- package/web/references/velog/DESIGN.md +168 -0
- package/web/references/voicetube/DESIGN.md +227 -0
- package/web/references/wadiz/DESIGN.md +19 -0
- package/web/references/webflow/DESIGN.md +16 -2
- package/web/references/yeogiotte/DESIGN.md +19 -0
- package/data/architecture-proposals/2026-05-13-thin-install-fresh-fetch.md +0 -189
- package/data/issues/2026-05-13-multi-surface-schema-rfc.md +0 -67
- package/data/reference-audits/2026-05-13-kr10.md +0 -132
- package/data/reference-audits/2026-05-14-kr10.md +0 -72
- package/data/reference-audits/2026-05-15-kr10.md +0 -124
- package/data/research/2026-05-18-agent-landscape.md +0 -69
- package/data/research/2026-05-18-kr-style-presets.md +0 -572
- package/dist/install-skills-IETT2TBJ.js.map +0 -1
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: payco
|
|
3
|
+
name: "PAYCO"
|
|
4
|
+
country: KR
|
|
5
|
+
category: fintech
|
|
6
|
+
homepage: "https://www.payco.com"
|
|
7
|
+
primary_color: "#FF2233"
|
|
8
|
+
logo:
|
|
9
|
+
type: favicon
|
|
10
|
+
slug: "https://www.google.com/s2/favicons?domain=payco.com&sz=256"
|
|
11
|
+
verified: "2026-06-03"
|
|
12
|
+
omd: "0.1"
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# PAYCO
|
|
16
|
+
|
|
17
|
+
South Korea's everyday fintech super-app — combining payment, points, financial services, and document storage in one red-branded platform operated by NHN PAYCO.
|
|
18
|
+
|
|
19
|
+
## 1. Visual Theme & Atmosphere
|
|
20
|
+
|
|
21
|
+
PAYCO's digital product language is built on a high-contrast red-and-white foundation that projects urgency, confidence, and accessibility. The vivid brand red (#FF2233) anchors every primary action — sidebar headers, CTA buttons, active navigation underlines — against a clean white canvas, creating an energetic rhythm without visual clutter. Dark charcoal (#2a303a) carries all body copy, keeping legibility sharp on white surfaces. Secondary UI chrome falls into neutral greys and off-whites, so the brand red always reads as a call to action. The overall atmosphere is functional and trustworthy: nothing extraneous competes with the moment of payment or redemption, yet the red signals that speed and benefit are always one tap away.
|
|
22
|
+
|
|
23
|
+
## 2. Color Palette & Roles
|
|
24
|
+
|
|
25
|
+
- **Brand Red:** `#FF2233` — primary brand color; buttons, active nav, sidebar headers, emphasis text (CSS custom property `--brand-color`)
|
|
26
|
+
- **Legacy Red:** `#ff1414` — GNB bottom border, hover states, point figures; retained alongside brand red for legacy components
|
|
27
|
+
- **Body Dark:** `#2a303a` — primary text, body copy, nav link default
|
|
28
|
+
- **Off-Black:** `#2d2d2d` — secondary headings, dense data text
|
|
29
|
+
- **Mid Grey:** `#666666` — secondary body text, input value text
|
|
30
|
+
- **Placeholder Grey:** `#999999` — input placeholder, tertiary labels
|
|
31
|
+
- **Light Neutral:** `#f4f6fa` — surface background for cards and section washes
|
|
32
|
+
- **Divider:** `#ededed` — table borders, section dividers
|
|
33
|
+
- **Input Border:** `#d4d4d4` — form field outlines at rest
|
|
34
|
+
- **Disabled Surface:** `#dadada` — disabled button background
|
|
35
|
+
- **Disabled Text:** `#aaacae` — disabled button label
|
|
36
|
+
- **White:** `#ffffff` — page background, card fill, button fill (ghost/secondary)
|
|
37
|
+
|
|
38
|
+
## 3. Typography Rules
|
|
39
|
+
|
|
40
|
+
- **Korean primary:** `NotoSans` (NotoSans KR), weights 100–700; used in service sections, navigation, and promotional copy
|
|
41
|
+
- **Newer flows:** `'Pretendard Variable'`, weights 400/500/700; used in modern refund and transaction screens
|
|
42
|
+
- **Base stack (legacy):** `'Apple SD Gothic Neo', NanumGothic, ng, dotum, Helvetica, sans-serif`; applies to body, inputs, buttons
|
|
43
|
+
- **Base size:** 16px; line-height 1.27; letter-spacing −1px (body)
|
|
44
|
+
- **Hero heading:** 52px / 700 / color `#fff` / letter-spacing −0.56px (`.kv_heading`)
|
|
45
|
+
- **Hero subtext:** 24px / 300 / color `#fff` / line-height 32px (`.kv_text`)
|
|
46
|
+
- **Section title:** 52px / 700 / color `#000` (`.main_title`)
|
|
47
|
+
- **Section subtitle:** 32px / 400 / color `#000` / line-height 50px (`.sub_title`)
|
|
48
|
+
- **Nav links:** 24px / 300 / NotoSans / color `#191919`
|
|
49
|
+
- **Large button label:** 18px / 700 / line-height 48px (`.bn_big *`)
|
|
50
|
+
- **Medium button label:** 13px / 700 / line-height 39px (`.bn_l *`)
|
|
51
|
+
|
|
52
|
+
## 4. Component Stylings
|
|
53
|
+
|
|
54
|
+
### Buttons
|
|
55
|
+
|
|
56
|
+
**Primary Brand Button (bn_big + brand color)**
|
|
57
|
+
- Background: `#FF2233`
|
|
58
|
+
- Text: `#ffffff`
|
|
59
|
+
- Border: 1px solid `#FF2233`
|
|
60
|
+
- Height: 48px
|
|
61
|
+
- Font: 18px / 700
|
|
62
|
+
|
|
63
|
+
**Dark Secondary Button (bn_bk)**
|
|
64
|
+
- Background: `#565960`
|
|
65
|
+
- Text: `#ffffff`
|
|
66
|
+
- Border: 1px solid `#4a4f56`
|
|
67
|
+
- Height: 48px
|
|
68
|
+
- Font: 18px / 700
|
|
69
|
+
|
|
70
|
+
**Ghost Button (bn_gy)**
|
|
71
|
+
- Background: `#ffffff`
|
|
72
|
+
- Text: `#191a1c`
|
|
73
|
+
- Border: 1px solid `#bfbfbf`
|
|
74
|
+
|
|
75
|
+
**Disabled Button (bn_disabled)**
|
|
76
|
+
- Background: `#dadada`
|
|
77
|
+
- Text: `#aaacae`
|
|
78
|
+
- Border: 1px solid `#d2d2d2`
|
|
79
|
+
|
|
80
|
+
**Modern CTA Link Button (halt_apply)**
|
|
81
|
+
- Background: `#FF2233`
|
|
82
|
+
- Text: `#ffffff`
|
|
83
|
+
- Radius: 8px
|
|
84
|
+
- Height: 51px
|
|
85
|
+
- Padding: 16px 10px
|
|
86
|
+
- Font: 14px / 400
|
|
87
|
+
|
|
88
|
+
### Form Inputs
|
|
89
|
+
|
|
90
|
+
**Standard Input (inp)**
|
|
91
|
+
- Background: `#ffffff`
|
|
92
|
+
- Text: `#666666`
|
|
93
|
+
- Border: 1px solid `#d4d4d4`
|
|
94
|
+
- Height: 32px
|
|
95
|
+
- Padding: 0 0 0 20px
|
|
96
|
+
- Font: 12px
|
|
97
|
+
|
|
98
|
+
**Placeholder**
|
|
99
|
+
- Text: `#999999`
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
**Verified:** 2026-06-03
|
|
103
|
+
**Tier 1 sources:** https://www.payco.com (homepage HTML), https://www.payco.com/share/css/common.css?1778564615926 (full CSS bundle, 398 KB)
|
|
104
|
+
**Tier 2 sources:** getdesign.md/payco — NOT LISTED (no data). refero ?q=PAYCO — no KR result.
|
|
105
|
+
**Conflicts unresolved:** #FF2233 (CSS :root --brand-color) and #ff1414 (legacy GNB border) coexist; #FF2233 is the canonical brand red per the custom property declaration.
|
|
106
|
+
|
|
107
|
+
## 5. Layout Principles
|
|
108
|
+
|
|
109
|
+
- Desktop content width: 1026px centered (`.wrap { width: 1026px; margin: 0 auto }`)
|
|
110
|
+
- Full-width hero image with centred overlay text at 1600px minimum width for large screens
|
|
111
|
+
- Sidebar navigation (`.snb_header_wrap`) uses brand red background at 184px height
|
|
112
|
+
- Service sections stack vertically with generous vertical padding (159px top on first section, 115px on subsequent)
|
|
113
|
+
- Service tab navigation is inline with 25px spacing between items
|
|
114
|
+
- Footer uses narrower 760px content width with 180px left padding for address block
|
|
115
|
+
|
|
116
|
+
## 6. Depth & Elevation
|
|
117
|
+
|
|
118
|
+
- Flat surfaces dominate: cards and panels use 1px border or background colour shift rather than drop shadows
|
|
119
|
+
- Panel dropdowns use subtle shadow: `box-shadow: 0 1px 0 rgba(0,0,0,.1)` (`.ly_panel_cont`)
|
|
120
|
+
- Modal overlay uses full-screen dimmed layer: `background: #000; opacity: .7` (`.dimmed`)
|
|
121
|
+
- z-index layering: skip link 120, sticky nav 99, date picker 100, modal 100+
|
|
122
|
+
- Active GNB bottom underline: 4px solid `#ff1414` — the heaviest border accent in the system
|
|
123
|
+
|
|
124
|
+
## 7. Do's and Don'ts
|
|
125
|
+
|
|
126
|
+
### Do
|
|
127
|
+
- Use `#FF2233` exclusively for primary CTAs, active states, and brand emphasis to maintain hierarchy
|
|
128
|
+
- Set body text in `#2a303a` on white for maximum legibility
|
|
129
|
+
- Use NotoSans (KR) for promotional and section heading copy; use Pretendard Variable for newer transactional screens
|
|
130
|
+
- Apply the 1px solid `#d4d4d4` border on all inputs at rest state
|
|
131
|
+
- Use the `bn_big` sizing (198×48px, 18px/700) for primary page-level call-to-action buttons
|
|
132
|
+
- Keep content within the 1026px centred wrapper on desktop
|
|
133
|
+
|
|
134
|
+
### Don't
|
|
135
|
+
- Don't introduce additional brand colours outside the measured palette without alignment
|
|
136
|
+
- Don't use the brand red `#FF2233` for body text or non-actionable elements — it triggers urgency
|
|
137
|
+
- Don't omit the disabled state styling (`#dadada` / `#aaacae`) when rendering inactive buttons
|
|
138
|
+
- Don't mix Pretendard Variable and legacy `'Apple SD Gothic Neo'` stacks in the same component context
|
|
139
|
+
- Don't override the 4px GNB bottom border or the sidebar red header — these are structural brand anchors
|
|
140
|
+
|
|
141
|
+
## 8. Responsive Behavior
|
|
142
|
+
|
|
143
|
+
- Desktop first layout; breakpoints defined at max-width 1280px and max-width 1100px (narrow content adjustments)
|
|
144
|
+
- At min-width 1600px: full-width hero image scales to cover with absolute centred positioning
|
|
145
|
+
- Hero image uses `transform: translate(-50%, -50%)` for centred cover on all viewport sizes
|
|
146
|
+
- Sticky navigation (`fp_nav`) transitions from absolute to fixed at 69px from top of viewport when user scrolls
|
|
147
|
+
- Footer and sidebar widths do not adapt below 1100px; mobile experience served by native apps
|
|
148
|
+
|
|
149
|
+
## 9. Agent Prompt Guide
|
|
150
|
+
|
|
151
|
+
Use these conventions when generating PAYCO-branded UI:
|
|
152
|
+
|
|
153
|
+
- Primary brand hex is `#FF2233`; use it for primary buttons, active nav items, and emphasis spans
|
|
154
|
+
- Body text hex is `#2a303a`; secondary text is `#666`; placeholder is `#999`
|
|
155
|
+
- Surface backgrounds: `#fff` (cards, page), `#f4f6fa` (section wash), `#f4f4f4` (info panels)
|
|
156
|
+
- Button large: 198×48px, border 1px solid matching background, text 18px/700, white text on brand red
|
|
157
|
+
- Input: height 32px, padding-left 20px, border 1px solid `#d4d4d4`, font 12px, text `#666`
|
|
158
|
+
- Disabled: background `#dadada`, border `#d2d2d2`, text `#aaacae`
|
|
159
|
+
- Corner radius: 8px for modern CTAs; 20px–100px for pill badges/tags; flat (0) for legacy button variants
|
|
160
|
+
- Font: NotoSans KR for headings/promo; Pretendard Variable for transactional screens; fall back to Apple SD Gothic Neo
|
|
161
|
+
- Transitions on nav indicator: `width 0.5s` ease
|
|
162
|
+
|
|
163
|
+
## 10. Voice & Tone
|
|
164
|
+
|
|
165
|
+
**Adjectives:** Practical, reassuring, familiar
|
|
166
|
+
|
|
167
|
+
| Dimension | Do | Don't |
|
|
168
|
+
|-----------|-----|-------|
|
|
169
|
+
| Register | Friendly and direct; speak like a trusted neighbour | Formal or distant — avoid corporate stiffness |
|
|
170
|
+
| Sentences | Short to mid-length; action-led | Long conditional clauses that delay the point |
|
|
171
|
+
| Vocabulary | Everyday Korean consumer language; minimal jargon | Finance-heavy terminology without explanation |
|
|
172
|
+
|
|
173
|
+
Voice samples (illustrative):
|
|
174
|
+
- "결제가 필요한 모든 순간, PAYCO 하세요." (Every moment you need to pay, PAYCO it.) — short, verb-forward, brand name as a verb
|
|
175
|
+
- "실속있는 포인트, 편리한 결제, 간편한 금융." (Practical points, convenient payment, simple finance.) — three-beat rhythm, benefit-first
|
|
176
|
+
- "일상의 빈틈을 채우다" (Fill the gaps in your daily life.) — poetic but grounded, positions PAYCO as an everyday companion
|
|
177
|
+
|
|
178
|
+
## 11. Brand Narrative
|
|
179
|
+
|
|
180
|
+
PAYCO launched in 2015 under NHN (formerly NHN Entertainment, the company behind Hangame and NAVER's early gaming arm), aiming to consolidate the fragmented Korean payment landscape into a single mobile wallet. Rather than targeting power users, the service centred on the mass consumer's everyday inconveniences — small purchases, loyalty point management, transit payments — and built trust by linking to users' existing bank accounts without requiring a new card.
|
|
181
|
+
|
|
182
|
+
The brand's current mission is captured in the homepage OG description: "실속있는 포인트, 편리한 결제, 간편한 금융, 안전한 전자문서함" — practical points, convenient payment, simple finance, secure digital document storage. This four-part mission reflects PAYCO's evolution from a pure payments app into a life-services super-app: the 페이코 라이프 (PAYCO Life) positioning introduced on the homepage signals that the brand sees itself as a utility layer across employment (office meal vouchers, campus IDs), commerce, and government-facing document exchange.
|
|
183
|
+
|
|
184
|
+
NHN PAYCO operates the service as a subsidiary of NHN, and the product's visual language — dominated by the vivid brand red, clean white surfaces, and tight typographic scale — deliberately contrasts with the clutter of legacy Korean fintech apps. The tagline "일상의 빈틈을 채우다" (Fill the gaps in your daily life) positions PAYCO as a background enabler: always available, never intrusive, and genuinely useful in the uncovered corners of everyday life.
|
|
185
|
+
|
|
186
|
+
## 12. Principles
|
|
187
|
+
|
|
188
|
+
1. **Simplicity over completeness.** Every flow should reduce friction to its minimum. *UI implication:* Prefer single-action screens; hide advanced options behind progressive disclosure rather than exposing all settings upfront.
|
|
189
|
+
|
|
190
|
+
2. **Trust through transparency.** Users are handling money and documents; every state must be communicated clearly. *UI implication:* Show explicit confirmation dialogs, unambiguous success screens, and honest error messages with recovery paths.
|
|
191
|
+
|
|
192
|
+
3. **Reliability at every touchpoint.** PAYCO must work first time, every time, for every demographic. *UI implication:* Design for the lowest-common-denominator device; never depend on hover states for critical information.
|
|
193
|
+
|
|
194
|
+
4. **Everyday relevance.** Benefits and points should feel attainable, not aspirational. *UI implication:* Surface accumulated points and savings prominently in personalised dashboards; use concrete numbers rather than percentages.
|
|
195
|
+
|
|
196
|
+
5. **Brand clarity under load.** In dense data screens (transaction lists, coupon grids), brand red must remain a signal, not decoration. *UI implication:* Reserve `#FF2233` for primary CTAs and alert states only; use neutral greys for all listing chrome.
|
|
197
|
+
|
|
198
|
+
## 13. Personas
|
|
199
|
+
|
|
200
|
+
*Illustrative — these are representative archetypes synthesised from PAYCO's stated service areas and public product positioning.*
|
|
201
|
+
|
|
202
|
+
*Illustrative Office Worker (지민, 28):* Uses PAYCO daily for the company meal-voucher (식권) at the office canteen, accumulates points on convenience-store runs, and occasionally pays transit fares. Values speed over discovery — expects the payment barcode to appear in under two taps.
|
|
203
|
+
|
|
204
|
+
*Illustrative University Student (소연, 22):* Relies on the campus PAYCO card (캠퍼스) for student ID and library access, uses the app to send small remittances to family, and redeems coupon notifications between lectures. Sensitive to data charges; expects the app to be fast on mid-range Android.
|
|
205
|
+
|
|
206
|
+
*Illustrative Self-Employed Merchant (영호, 45):* Accepts PAYCO at his neighbourhood bakery via QR code terminal; checks settlement summaries weekly. Values clear revenue totals and simple dispute resolution over any loyalty features.
|
|
207
|
+
|
|
208
|
+
*Illustrative Document-Conscious Parent (혜진, 38):* Stores electronic documents (전자문서) — insurance policies, government notices — in PAYCO's digital wallet. Cares about security assurances and needs to find documents quickly when contacted by an insurer.
|
|
209
|
+
|
|
210
|
+
## 14. States
|
|
211
|
+
|
|
212
|
+
- **Empty:** Grey centre-aligned text `#999` with a descriptive label; no brand-red elements to avoid false urgency in zero-data screens
|
|
213
|
+
- **Loading (spinner):** 22×22px animated sprite (`.sp_load`) absolutely centred on the container; background image from CDN; grey tones to avoid distraction
|
|
214
|
+
- **Loading (image):** 30×30px animated gif (`.img_loading`) centred in column headers or card panels; separate assets for dark and light panel backgrounds
|
|
215
|
+
- **Error (page-level):** Full-width white overlay with centred error illustration, 24px `#565960` heading, 13px `#666` body text, and a single recovery CTA button; brand-red used only in the recovery link (`.error .desc a`)
|
|
216
|
+
- **Error (inline):** `#FF2233` caution text (`.caution`, `.confirm`) at 12px directly below the affected field
|
|
217
|
+
- **Success:** Implicit via forward navigation; no dedicated success-screen pattern found in CSS — completion is signalled by routing to next step
|
|
218
|
+
- **Skeleton:** No explicit skeleton-loading CSS found; loading spinners serve this role
|
|
219
|
+
- **Disabled:** Background `#dadada`, border `#d2d2d2`, text `#aaacae`; cursor:default implied; interactive events suppressed
|
|
220
|
+
|
|
221
|
+
## 15. Motion & Easing
|
|
222
|
+
|
|
223
|
+
- **Navigation indicator:** `transition: width 0.5s` — the `fp_nav` active underline expands from 0 to 100% width; easing unspecified (browser default ease)
|
|
224
|
+
- **Transform usage:** `transform: translate(-50%, -50%)` for absolute centring of hero image and modals; `transform: translateY(-50%)` for vertically centred inline elements — all used for layout, not animation
|
|
225
|
+
- **Page scroll:** `fp_nav` transitions between absolute and fixed positioning on scroll; no explicit scroll-animation timing defined
|
|
226
|
+
- **General rule:** Transitions are minimal and functional; the brand does not use decorative motion. Duration scale: 0.5s for page-level indicator; shorter interactions implied by browser defaults
|
|
227
|
+
- **Easing intent:** Flat ease (browser default) for all measured transitions; no cubic-bezier custom curves found in the CSS bundle
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: piccollage
|
|
3
|
+
name: "PicCollage"
|
|
4
|
+
country: US
|
|
5
|
+
category: consumer-tech
|
|
6
|
+
homepage: "https://piccollage.com"
|
|
7
|
+
primary_color: "#4FC3C4"
|
|
8
|
+
logo:
|
|
9
|
+
type: favicon
|
|
10
|
+
slug: "https://www.google.com/s2/favicons?domain=piccollage.com&sz=256"
|
|
11
|
+
verified: "2026-06-03"
|
|
12
|
+
omd: "0.1"
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# PicCollage
|
|
16
|
+
|
|
17
|
+
A Taiwan-born photo-collage and greeting-card app that turns everyday photos and videos into shareable celebrations — serving 270 million users worldwide with joyful, AI-assisted creative tools.
|
|
18
|
+
|
|
19
|
+
## 1. Visual Theme & Atmosphere
|
|
20
|
+
|
|
21
|
+
PicCollage wraps creativity in warmth. The homepage opens with a soft cream canvas (`#FBF2EB`) that feels like textured scrapbook paper — unhurried, tactile, inviting touch. Against that warm ground, a signature teal (`#4FC3C4`) pops as the primary call-to-action, energetic without being aggressive. Typography mixes a serif display face (Zilla Slab) for expressive headlines with Poppins for clear, friendly body copy, signalling that the product is both crafted and accessible. Feature sections use a vivid purple-to-coral gradient (`#8235B8 → #EE604D`) as a typographic highlight, nodding to the brand's celebratory, multicolour spirit. Elevations are kept light — diffused shadows (`0px 0px 8px rgba(0,0,0,0.15)`) rather than hard drops — so collage content stays the visual hero. The overall register is: "a creative friend's studio, tidied up just enough to feel welcoming."
|
|
22
|
+
|
|
23
|
+
## 2. Color Palette & Roles
|
|
24
|
+
|
|
25
|
+
- **Teal / Primary CTA:** `#4FC3C4` — main download and action button background
|
|
26
|
+
- **Teal 200 / Nav Button:** `#b7e1da` — nav "Download the App" button fill
|
|
27
|
+
- **Teal 300 / Footer:** `#7ad2c3` — footer section background
|
|
28
|
+
- **Teal 500 / Border Accent:** `#2db59e` — interactive border on nav and teal buttons
|
|
29
|
+
- **Warm Cream / Hero BG:** `#FBF2EB` — hero section page background
|
|
30
|
+
- **Beige 50 / Nav BG:** `#f5f4ef` — navigation bar background
|
|
31
|
+
- **Beige 100 / Surface:** `#ece9df` — icon button fill, hover surface
|
|
32
|
+
- **Beige 300 / Divider:** `#d9d2bf` — subtle borders and dividers
|
|
33
|
+
- **Gray 850 / Body Text:** `#292929` — primary text on light surfaces
|
|
34
|
+
- **Gray 700 / Secondary Text:** `#4d4d4d` — secondary body and nav labels
|
|
35
|
+
- **Pink 500 / Accent:** `#f85482` — highlight sticker/badge accent
|
|
36
|
+
- **Yellow 400 / Celebration:** `#ffcf3d` — festive highlight, feature icon fill
|
|
37
|
+
- **Feature Gradient:** `#8235B8 → #974DCB → #EF4967 → #EE604D` — display heading gradient
|
|
38
|
+
|
|
39
|
+
## 3. Typography Rules
|
|
40
|
+
|
|
41
|
+
- **Display / Hero headline:** Zilla Slab, 60px / line-height 67px, weight 600, color white with text-shadow `0px 0px 10px #AB7624`
|
|
42
|
+
- **Section headline (desktop):** Poppins, 36px / weight bold — feature card titles
|
|
43
|
+
- **Section headline (mobile):** Poppins, 25px / weight bold — responsive scale
|
|
44
|
+
- **Sub-headline / hero tagline:** Poppins, 25px / line-height 35px, weight 500, white
|
|
45
|
+
- **Body copy:** Poppins, 18px / weight 400 — feature descriptions
|
|
46
|
+
- **UI label / nav button:** Poppins, 14px / weight medium (500), tracking -0.28px
|
|
47
|
+
- **Hierarchy:** Display → Section H1 → Body → UI Label; always Poppins below the hero; Zilla Slab reserved for marketing hero only
|
|
48
|
+
- **Base scale:** 10 / 12 / 14 / 16 / 18 / 20 / 24 / 28 / 32 / 36 / 40 / 44 / 48 / 72px
|
|
49
|
+
|
|
50
|
+
## 4. Component Stylings
|
|
51
|
+
|
|
52
|
+
### Primary CTA Button (App Download)
|
|
53
|
+
|
|
54
|
+
**Mobile Sticky Download**
|
|
55
|
+
- Background: `#4FC3C4`
|
|
56
|
+
- Text: `#ffffff`
|
|
57
|
+
- Border: none
|
|
58
|
+
- Radius: 30px
|
|
59
|
+
- Width: 294px
|
|
60
|
+
- Height: 44px
|
|
61
|
+
- Font: 14px / 700
|
|
62
|
+
- Shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.10)
|
|
63
|
+
|
|
64
|
+
**Nav Download Button**
|
|
65
|
+
- Background: `#b7e1da`
|
|
66
|
+
- Text: `#292929`
|
|
67
|
+
- Border: 1.5px solid `#2db59e`
|
|
68
|
+
- Radius: 9999px
|
|
69
|
+
- Height: 32px
|
|
70
|
+
- Padding: 8px 12px
|
|
71
|
+
- Font: 14px / 500
|
|
72
|
+
|
|
73
|
+
### Icon Button (Toolbar / Nav Icon)
|
|
74
|
+
|
|
75
|
+
**Beige Icon Button**
|
|
76
|
+
- Background: `#ece9df`
|
|
77
|
+
- Border: 1.5px solid `#d9d2bf`
|
|
78
|
+
- Radius: 9999px
|
|
79
|
+
- Width: 44px
|
|
80
|
+
- Height: 44px
|
|
81
|
+
|
|
82
|
+
**Hover State**
|
|
83
|
+
- Background: `#e8e4d9`
|
|
84
|
+
|
|
85
|
+
### Navigation Bar
|
|
86
|
+
|
|
87
|
+
**Top Nav**
|
|
88
|
+
- Background: `#f5f4ef`
|
|
89
|
+
- Height: 70px
|
|
90
|
+
- Shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.08)
|
|
91
|
+
- Padding: 8px 44px
|
|
92
|
+
|
|
93
|
+
**Nav Menu Item**
|
|
94
|
+
- Text: `#4d4d4d`
|
|
95
|
+
- Font: 14px / 500
|
|
96
|
+
- Radius: 9999px
|
|
97
|
+
- Padding: 8px 12px
|
|
98
|
+
|
|
99
|
+
### Card / Feature Panel
|
|
100
|
+
|
|
101
|
+
**Feature Card**
|
|
102
|
+
- Background: `#ffffff`
|
|
103
|
+
- Radius: 16px
|
|
104
|
+
- Border: 2px solid `#e8e4d9`
|
|
105
|
+
- Shadow: 0px 0px 12px 0px `#E8E8E8`
|
|
106
|
+
|
|
107
|
+
**Collage Thumbnail**
|
|
108
|
+
- Radius: 16px
|
|
109
|
+
- Shadow: 0px 0px 8px rgba(0, 0, 0, 0.15)
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
**Verified:** 2026-06-03
|
|
113
|
+
**Tier 1 sources:** https://piccollage.com (homepage HTML + inline styles), https://pic-collage-mczsmo7tt-piccollage.vercel.app/_next/static/chunks/0w52i878~_fa~.css (main CSS bundle with full --color-pic-* token scale), https://piccollage.com/company (company page HTML with brand mission copy), https://play.google.com/store/apps/details?id=com.cardinalblue.piccollage.google (Google Play listing — Cardinal Blue Software, Inc.)
|
|
114
|
+
**Tier 2 sources:** getdesign.md/piccollage — 0 DESIGN.md files (no data). refero ?q=PicCollage — JS-only SPA, no results returned.
|
|
115
|
+
**Conflicts unresolved:** none
|
|
116
|
+
|
|
117
|
+
## 5. Layout Principles
|
|
118
|
+
|
|
119
|
+
- **Max content width:** ~1221px on hero (capped via `max-width:1221px`); 690px for editor panels; standard Tailwind spacing scale (4px base unit)
|
|
120
|
+
- **Navigation:** Sticky top bar, full-width, 70px tall; collapses to hamburger below `sm` breakpoint (640px); content inset `44px` on sm+
|
|
121
|
+
- **Hero:** Full-bleed background image/video with centred text column (622px wide on desktop); app-store badges and CTA stack below tagline
|
|
122
|
+
- **Section grid:** Single-column on mobile; 2-column grid on `md` (768px+) for feature cards; horizontal marquee for testimonials
|
|
123
|
+
- **Footer:** Full-bleed teal-300 (`#7ad2c3`), 550px tall on lg / 900px tall on mobile; centred QR code + app badge layout
|
|
124
|
+
- **Spacing rhythm:** 8, 12, 16, 24, 32, 48, 64, 96px; section vertical padding is `32px 0 96px` on desktop
|
|
125
|
+
|
|
126
|
+
## 6. Depth & Elevation
|
|
127
|
+
|
|
128
|
+
- **Level 0 — Flat surface:** Hero cream background `#FBF2EB`, no shadow; page-level canvas
|
|
129
|
+
- **Level 1 — Card:** `box-shadow: 0px 0px 12px 0px #E8E8E8` — feature panels and template tiles
|
|
130
|
+
- **Level 2 — Thumbnail / floating element:** `box-shadow: 0px 0px 8px rgba(0,0,0,0.15)` — collage preview cards
|
|
131
|
+
- **Level 3 — Navigation:** `box-shadow: 0px 2px 12px 0px rgba(0,0,0,0.08)` — sticky top bar lifts above content
|
|
132
|
+
- **Level 4 — Modal / overlay:** `box-shadow: 0px 16px 22px 0px rgba(0,0,0,0.07)` — slide-out drawer
|
|
133
|
+
- **Overlay tint:** `rgba(0,0,0,0.40)` for scrim behind full-screen modals
|
|
134
|
+
- **Principle:** Elevation is soft and diffused (large blur, low opacity) rather than hard; keeps collage imagery as the primary visual anchor
|
|
135
|
+
|
|
136
|
+
## 7. Do's and Don'ts
|
|
137
|
+
|
|
138
|
+
### Do
|
|
139
|
+
- Use teal (`#4FC3C4` / `#b7e1da` family) as the action colour; reserve it for CTAs and interactive states
|
|
140
|
+
- Use the warm cream (`#FBF2EB`, beige family) for page backgrounds to keep the scrapbook warmth
|
|
141
|
+
- Apply Zilla Slab only for marketing hero headlines; use Poppins for all product and body text
|
|
142
|
+
- Use fully rounded pill buttons (radius 9999px / 30px+) for all primary and secondary actions
|
|
143
|
+
- Apply the purple-to-coral gradient (`#8235B8 → #EE604D`) exclusively on display text for celebratory emphasis
|
|
144
|
+
- Keep diffuse, low-opacity shadows to let collage content remain the visual star
|
|
145
|
+
- Transition color changes at 200ms ease-in-out for interactive elements
|
|
146
|
+
|
|
147
|
+
### Don't
|
|
148
|
+
- Don't use hard, deep shadows — they conflict with the airy scrapbook aesthetic
|
|
149
|
+
- Don't mix Zilla Slab with body-copy contexts; it is display-only
|
|
150
|
+
- Don't use pink (`#f85482`) or yellow (`#ffcf3d`) as primary backgrounds — accent use only
|
|
151
|
+
- Don't use sharp corners (radius < 8px) on interactive elements; the brand is round and soft
|
|
152
|
+
- Don't crowd layouts; template cards and collage thumbnails need generous white/cream space
|
|
153
|
+
- Don't place coloured text directly on the purple-to-coral gradient without white fill or contrast check
|
|
154
|
+
|
|
155
|
+
## 8. Responsive Behavior
|
|
156
|
+
|
|
157
|
+
- **< 640px (mobile):** Single-column layout; sticky bottom CTA bar appears (`bottom: 24px`, width `294px`, radius `30px`); hero headline scales to 32px; feature cards stack vertically; footer 900px tall
|
|
158
|
+
- **640px – 767px (sm):** Hero text column narrows; app-store badges side-by-side; nav stays horizontal but collapses secondary items; footer 650px tall
|
|
159
|
+
- **768px – 1023px (md):** Feature grid becomes 2-column; editor panel up to 690px; section padding expands to 80px block
|
|
160
|
+
- **1024px+ (lg):** Full hero layout (622px text column + phone mockup); max-content 1221px; footer 550px tall; all nav items visible with 44px horizontal inset
|
|
161
|
+
- **Breakpoints:** xs 480px, sm 640px, md 768px, lg 1024px (Tailwind standard); custom `sm:px-[44px]`, `md:px-[71px]`
|
|
162
|
+
|
|
163
|
+
## 9. Agent Prompt Guide
|
|
164
|
+
|
|
165
|
+
When generating PicCollage-style UI:
|
|
166
|
+
|
|
167
|
+
```
|
|
168
|
+
Visual system: warm cream (#FBF2EB) page canvas, teal (#4FC3C4) primary CTA, beige-family surfaces.
|
|
169
|
+
Typography: Zilla Slab 600 for hero headline only; Poppins 500/400 for all other text.
|
|
170
|
+
Buttons: fully rounded pills (radius 30px–9999px); primary = #4FC3C4 bg + white text; secondary = #b7e1da bg + 1.5px #2db59e border + #292929 text.
|
|
171
|
+
Cards: radius 16px, soft shadow (0px 0px 12px #E8E8E8), 2px beige border (#e8e4d9).
|
|
172
|
+
Shadows: diffuse only — blur-heavy, low-opacity; no hard drop shadows.
|
|
173
|
+
Gradient (display text only): linear-gradient(87.36deg, #8235B8 -9.23%, #974DCB 16.56%, #EF4967 73.21%, #EE604D 91.93%).
|
|
174
|
+
Tone: warm, celebratory, encouraging; short sentences with exclamation energy; never clinical.
|
|
175
|
+
Avoid: sharp corners, dark overlays, hard shadows, serif body text.
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
## 10. Voice & Tone
|
|
179
|
+
|
|
180
|
+
**Register:** Warm, celebratory, encouraging — like a creative best friend cheering you on.
|
|
181
|
+
|
|
182
|
+
**Adjectives:** Joyful · Approachable · Empowering
|
|
183
|
+
|
|
184
|
+
| Do | Don't |
|
|
185
|
+
|---|---|
|
|
186
|
+
| Use short, punchy verbs: "Create," "Celebrate," "Share" | Use passive or corporate phrasing ("leverage your assets") |
|
|
187
|
+
| Address the user directly: "your memories," "your camera roll" | Be abstract or category-generic |
|
|
188
|
+
| Celebrate small moments, not just big milestones | Overpromise technical perfection |
|
|
189
|
+
| Use light exclamation energy — one `!` per sentence max | Pile on emojis or CAPS LOCK for emphasis |
|
|
190
|
+
| Invite, not instruct: "Try PicCollage now!" | Command coldly: "Enter your photos." |
|
|
191
|
+
|
|
192
|
+
**Voice samples (illustrative):**
|
|
193
|
+
- *"The easiest photo and video editing app to add magic to your treasured memories."* — tagline on homepage hero
|
|
194
|
+
- *"Our promise to you — our AI tools will always act as an assistant to super-charge your creative ideas. They blend in seamlessly and never take the creative process out of your hands."* — feature copy
|
|
195
|
+
- *"We love a holiday! But we also believe every moment is worth romanticizing."* — feature section headline
|
|
196
|
+
- *"Create & Celebrate."* — brand tagline, blog subtitle
|
|
197
|
+
- *"Give it a try. Have some fun."* — user review echoing brand voice register
|
|
198
|
+
|
|
199
|
+
## 11. Brand Narrative
|
|
200
|
+
|
|
201
|
+
PicCollage was created by Cardinal Blue Software, Inc., a Taipei-based studio that believed photo sharing could be more than a stream of single images. Founded in 2011, the app launched as a simple drag-and-drop collage tool for iOS and quickly spread virally among users who wanted to tell stories with multiple photos in a single frame. Within a few years it had grown to tens of millions of downloads, establishing itself as a staple creative tool across Asia and North America.
|
|
202
|
+
|
|
203
|
+
Today PicCollage serves over 270 million people worldwide, operating under the mission "Create, Celebrate, Connect." The company has expanded into a suite of creative apps — OnBeat for music-driven video, BEAM, Noodle, and MemeMe — anchored by a shared philosophy of "Creative AI": AI that acts as a creative assistant, never a creative replacement. The company tagline captures this spirit in three words: "Make the World Fun & Creative."
|
|
204
|
+
|
|
205
|
+
The product's design language mirrors this mission. Warm, scrapbook-inspired surfaces and rounded, inviting controls signal that creativity here is for everyone — not just designers. Every template update, sticker pack, and holiday campaign is an act of celebration: an invitation to document life's small moments with the same ceremony reserved for big milestones.
|
|
206
|
+
|
|
207
|
+
## 12. Principles
|
|
208
|
+
|
|
209
|
+
1. **Creativity is for everyone.**
|
|
210
|
+
Everyone can be creative with the right tools. PicCollage designs for first-time creators, not expert designers.
|
|
211
|
+
*UI implication:* Use familiar, forgiving affordances — pill buttons, clear iconography, visible undo — so users never feel punished for experimenting.
|
|
212
|
+
|
|
213
|
+
2. **AI assists; people create.**
|
|
214
|
+
AI tools are positioned as magic helpers that expand ideas, never as robots that replace personal expression.
|
|
215
|
+
*UI implication:* AI features sit alongside manual tools, not above them; show the user's photo or input front-and-centre, AI output as an overlay or suggestion layer.
|
|
216
|
+
|
|
217
|
+
3. **Every moment deserves celebration.**
|
|
218
|
+
The brand refuses to reserve ceremony for only the big milestones; ordinary days are worth commemorating.
|
|
219
|
+
*UI implication:* Offer templates and stickers for everyday occasions (Tuesday photo dumps, random lunch photos) alongside birthdays and holidays; avoid a hierarchy that only surfaces "important" event categories.
|
|
220
|
+
|
|
221
|
+
4. **Designs should feel fresh, always.**
|
|
222
|
+
The design library is updated weekly; users should never run out of inspiration.
|
|
223
|
+
*UI implication:* Prominently surface "New" and "Trending" badges in template grids; use motion cues (subtle shimmer or marquee scroll) to signal freshness without overwhelming the canvas.
|
|
224
|
+
|
|
225
|
+
5. **Warmth over polish.**
|
|
226
|
+
Craft is valued, but approachability trumps perfection. The aesthetic is intentionally hand-made feeling.
|
|
227
|
+
*UI implication:* Prefer soft, diffuse shadows and beige/cream surfaces over stark white; allow collage imperfection (overlapping elements, slight rotations) in template previews.
|
|
228
|
+
|
|
229
|
+
## 13. Personas
|
|
230
|
+
|
|
231
|
+
*Illustrative — these are representative archetypes inferred from brand copy, user reviews, and app-store description, not from first-party research.*
|
|
232
|
+
|
|
233
|
+
**The Celebration Architect — Mia, 32**
|
|
234
|
+
Parents, birthdays, holidays: Mia runs the family memory archive. She uses PicCollage weekly to create invitation cards, countdown collages, and holiday cards. She wants beautiful output fast — she doesn't have time to learn Photoshop, but she cares deeply that the result looks personal and thoughtful. She gets frustrated if she can't find a template for exactly her occasion.
|
|
235
|
+
|
|
236
|
+
**The Social Storyteller — Jake, 22**
|
|
237
|
+
Jake uses PicCollage for Instagram photo dumps and Snapchat year-in-reviews. He cares more about vibe and aesthetic than occasion. He explores template libraries the way other people scroll TikTok — browsing for inspiration he didn't know he needed. He loves new sticker drops and will switch to a competing app if PicCollage feels stale.
|
|
238
|
+
|
|
239
|
+
**The Occasional Sender — Lin, 48**
|
|
240
|
+
Lin only opens PicCollage a few times a year — around major holidays and her children's birthdays. She needs the app to be so intuitive that she doesn't have to remember how it works between sessions. Error states and confusing flows make her abandon the task. Success for Lin is finishing and sending in under five minutes, feeling proud of the result.
|
|
241
|
+
|
|
242
|
+
**The Young Creator — Sam, 14**
|
|
243
|
+
Sam uses the app for school projects, creative memes, and friend-group collages. Sam is the fastest user in the room and will find every edge of the canvas. She wants maximum customisation and loves AI magic features. She shares her creations immediately and watches for reactions; the share flow must be frictionless.
|
|
244
|
+
|
|
245
|
+
## 14. States
|
|
246
|
+
|
|
247
|
+
- **Empty (no photos):** Warm cream canvas with a dashed-border drop zone, illustrated collage placeholder icons, and an approachable prompt: "Tap to add your first photo" — never a plain error icon
|
|
248
|
+
- **Loading / skeleton:** Rounded rectangles (radius 16px) in `#e2ddcf` (beige-200) pulse softly at 1.5s timing; matches card shape exactly to prevent layout shift
|
|
249
|
+
- **Error — network:** Inline banner at top of canvas with coral tint (`#f19daf`, pink-300 family); icon + short friendly message ("Couldn't load — tap to retry"); never modal unless blocking
|
|
250
|
+
- **Error — upload failed:** Toast notification at bottom of screen, `rgba(0,0,0,0.80)` dark pill, white text; auto-dismisses after 4s; offers "Try again" action
|
|
251
|
+
- **Success — save/share:** Brief confetti burst animation (0.7s, `cubic-bezier(.22,1,.36,1)`) centred on canvas, then green-tinted toast; shares to OS share sheet immediately after
|
|
252
|
+
- **Skeleton — template grid:** Grid of 16px-radius beige cards animate in with staggered 50ms delay per card; grid layout preserved so items don't reflow when real templates load
|
|
253
|
+
- **Disabled state:** `opacity: 0.5`; `cursor: not-allowed`; no border change on teal buttons; applied via `data-disabled` attribute
|
|
254
|
+
- **Focus visible:** `outline: 1px solid #298e7d` (teal-600), `outline-offset: 2px` — keyboard-accessible, matches teal brand family
|
|
255
|
+
|
|
256
|
+
## 15. Motion & Easing
|
|
257
|
+
|
|
258
|
+
**Duration scale:**
|
|
259
|
+
- Micro (hover, color change): 150ms
|
|
260
|
+
- Standard (color transition on interactive elements): 200ms
|
|
261
|
+
- Expand / accordion: 200ms (`ease-out`)
|
|
262
|
+
- Reveal / entry animation: 700ms (`cubic-bezier(.22, 1, .36, 1)` — spring-like)
|
|
263
|
+
- Marquee scroll (testimonials): 40s linear infinite
|
|
264
|
+
- Loader spin: 3s linear infinite
|
|
265
|
+
|
|
266
|
+
**Easing tokens:**
|
|
267
|
+
- `ease-in-out` — primary transition easing for color and border changes
|
|
268
|
+
- `ease-out` — accordion expand, slide-in panels
|
|
269
|
+
- `cubic-bezier(.22, 1, .36, 1)` — reveal-from-rect entry animation (bouncy spring)
|
|
270
|
+
- `linear` — infinite scroll marquees and spinner
|
|
271
|
+
|
|
272
|
+
**Motion rules:**
|
|
273
|
+
- All color/background transitions on interactive elements use 200ms ease-in-out
|
|
274
|
+
- Modals and drawers use 200ms ease-in-out translate; entry from left for drawers (`translateX(-100%)` to 0)
|
|
275
|
+
- Hover on collage thumbnails may apply a subtle scale (not measured explicitly; follow standard `scale(1.02)` at 200ms)
|
|
276
|
+
- Reduced-motion: `@media (prefers-reduced-motion)` in CSS sets `animation: none` for marquee and loader; all entry animations should respect this
|
|
277
|
+
- Never animate content that is the user's creation (the collage canvas itself should not move spontaneously)
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: "rayark"
|
|
3
|
+
name: "Rayark"
|
|
4
|
+
country: TW
|
|
5
|
+
category: entertainment
|
|
6
|
+
homepage: "https://rayark.com"
|
|
7
|
+
primary_color: "#5FE0EE"
|
|
8
|
+
logo:
|
|
9
|
+
type: favicon
|
|
10
|
+
slug: "https://www.google.com/s2/favicons?domain=rayark.com&sz=128"
|
|
11
|
+
verified: "2026-06-01"
|
|
12
|
+
omd: "0.1"
|
|
13
|
+
---
|
|
14
|
+
# Design System Inspiration of Rayark
|
|
15
|
+
|
|
16
|
+
## 1. Visual Theme & Atmosphere
|
|
17
|
+
|
|
18
|
+
Rayark presents the cool, premium mood of a rhythm-game interface: a near-black canvas lit by a single shard of electric cyan. The Taipei indie studio behind Cytus, Deemo, VOEZ and the RPG Sdorica carries that gameplay aesthetic straight into its brand surface, where almost everything recedes into darkness so that one accent color can carry all the energy. White display type sits crisply on the black ground, corners stay sharp rather than soft, and the cyan reads like a neon line glowing on a dark stage. The atmosphere is restrained but charged — calm, confident, and unmistakably built by people who design for the screen. Nothing is decorative for its own sake; the contrast between deep black, bright white, and one luminous accent is the entire personality.
|
|
19
|
+
|
|
20
|
+
## 2. Color Palette & Roles
|
|
21
|
+
The palette is deliberately tight: a single near-black ground, one electric-cyan accent, and white for text. This three-value discipline is what makes the cyan feel like light rather than paint.
|
|
22
|
+
|
|
23
|
+
| Role | Value | Notes |
|
|
24
|
+
| --- | --- | --- |
|
|
25
|
+
| Ground / page background | `#1A1C1D` | Near-black canvas (rgb 26,28,29); the base everything sits on |
|
|
26
|
+
| Accent / signature | `#5FE0EE` | Electric cyan (rgb 95,224,238); hero and accent text, primary CTA fill |
|
|
27
|
+
| Text on dark | `#FFFFFF` | White display and navigation type |
|
|
28
|
+
| Text on accent | `#000000` | Black label inside the cyan CTA for maximum contrast |
|
|
29
|
+
|
|
30
|
+
Use the cyan sparingly — as the single point of emphasis against the dark field. White carries legibility; black is the stage.
|
|
31
|
+
|
|
32
|
+
## 3. Typography Rules
|
|
33
|
+
Typography is set in Noto Sans, a clean humanist sans that keeps the dark UI readable and modern.
|
|
34
|
+
|
|
35
|
+
- **Family:** Noto Sans across the interface.
|
|
36
|
+
- **Navigation:** 20px, weight 400 — confident but not heavy, white on the dark ground.
|
|
37
|
+
- **Body:** 16px for running text.
|
|
38
|
+
- **CTA label:** 16px, weight 700 — the bold weight gives the button its punch.
|
|
39
|
+
|
|
40
|
+
Keep the type white on the dark canvas and reserve weight (700) for the moments that must act, like the primary button.
|
|
41
|
+
|
|
42
|
+
## 4. Component Stylings
|
|
43
|
+
|
|
44
|
+
### Primary Button — "Play Now"
|
|
45
|
+
|
|
46
|
+
**Default**
|
|
47
|
+
- Background: #5FE0EE
|
|
48
|
+
- Text: #000000
|
|
49
|
+
- Border: 2px solid #FFFFFF
|
|
50
|
+
- Radius: 3px
|
|
51
|
+
- Height: 40px
|
|
52
|
+
- Font: 16px / 700
|
|
53
|
+
- Use: Primary call-to-action — the cyan CTA with sharp corners and a white outline that pops off the black ground
|
|
54
|
+
|
|
55
|
+
### Top Navigation
|
|
56
|
+
|
|
57
|
+
**Default**
|
|
58
|
+
- Background: transparent
|
|
59
|
+
- Text: #FFFFFF
|
|
60
|
+
- Border: none
|
|
61
|
+
- Height: 70px
|
|
62
|
+
- Font: 20px / 400
|
|
63
|
+
- Use: Transparent header with white nav links floating over the dark hero
|
|
64
|
+
|
|
65
|
+
### Page Surface
|
|
66
|
+
|
|
67
|
+
**Default**
|
|
68
|
+
- Background: #1A1C1D
|
|
69
|
+
- Text: #FFFFFF
|
|
70
|
+
- Border: none
|
|
71
|
+
- Height: full viewport
|
|
72
|
+
- Font: 16px / 400
|
|
73
|
+
- Use: The near-black canvas that grounds every screen and lets the cyan accent read as light
|
|
74
|
+
|
|
75
|
+
## 5. Layout Principles
|
|
76
|
+
The layout leans on a transparent header that lets the hero artwork run edge to edge beneath it, with the navigation (70px tall) floating over the dark canvas rather than sitting in a separate bar. Content is staged against the near-black ground so that bright accents define the eye path. Keep the structure clean and full-bleed; let the darkness provide the negative space rather than crowding the frame with boxes.
|
|
77
|
+
|
|
78
|
+
## 6. Depth & Elevation
|
|
79
|
+
Depth here comes from contrast, not shadow. The near-black ground (`#1A1C1D`) recedes while white text and the cyan accent advance, and the primary button earns its prominence through a bright fill plus a 2px white outline rather than a drop shadow. The transparent navigation reinforces the sense of layers — UI floating above artwork — without any heavy elevation effect. Treat luminosity as the elevation system: brighter means closer.
|
|
80
|
+
|
|
81
|
+
## 7. Do's and Don'ts
|
|
82
|
+
|
|
83
|
+
### Do
|
|
84
|
+
- Build on the near-black ground `#1A1C1D` and let it carry most of the screen.
|
|
85
|
+
- Reserve the cyan `#5FE0EE` as a single point of emphasis so it reads as light.
|
|
86
|
+
- Keep corners sharp (radius 3px on the CTA) for the game-UI edge.
|
|
87
|
+
- Outline the primary button with a 2px white border so it pops off the dark.
|
|
88
|
+
|
|
89
|
+
### Don't
|
|
90
|
+
- Dilute the palette with extra accent colors — the power is in the single cyan.
|
|
91
|
+
- Soften the CTA into a pill; the sharp 3px radius is part of the character.
|
|
92
|
+
- Drop white text onto the cyan fill — labels on the accent are black `#000000`.
|
|
93
|
+
- Add heavy drop shadows; depth comes from contrast and luminosity.
|
|
94
|
+
|
|
95
|
+
## 8. Responsive Behavior
|
|
96
|
+
The transparent header and full-bleed dark canvas adapt gracefully across viewports, with the 70px navigation bar anchoring the top of the screen. Maintain the dark ground and the single cyan accent at every breakpoint, and keep the CTA's height (40px) and weight (700) intact so the call-to-action stays tappable and legible on smaller screens. Let hero artwork scale behind the floating navigation rather than reflowing into separate panels.
|
|
97
|
+
|
|
98
|
+
## 9. Agent Prompt Guide
|
|
99
|
+
When generating UI in Rayark's spirit: start from a near-black ground `#1A1C1D`, set type in Noto Sans (nav 20px/400, body 16px) in white `#FFFFFF`, and introduce exactly one accent — electric cyan `#5FE0EE`. Make the primary action a cyan button with black `#000000` label text, a 2px solid white border, a sharp 3px radius, and a 40px height with a 16px/700 label. Keep the header transparent at 70px so artwork runs beneath it. Favor contrast and luminosity over shadows, and keep the whole palette to three values so the cyan always reads as glowing light.
|
|
100
|
+
|
|
101
|
+
## 10. Voice & Tone
|
|
102
|
+
Cool, confident, and screen-native — the tone of a studio that designs for play. The voice is economical and assured rather than chatty, matching an interface that says everything with one accent color. It carries the quiet swagger of a rhythm-game UI: precise, modern, and a little electric.
|
|
103
|
+
|
|
104
|
+
## 11. Brand Narrative
|
|
105
|
+
Rayark is a Taipei indie game studio known for the rhythm games Cytus, Deemo and VOEZ and the RPG Sdorica. Its brand surface translates that catalog into a dark, premium gaming aesthetic — a near-black stage where a single shard of electric cyan does the work of a spotlight. The identity reads as the cool, neon-on-black mood of a rhythm-game screen carried into the studio's own front door.
|
|
106
|
+
|
|
107
|
+
## 12. Principles
|
|
108
|
+
- **One accent, maximum charge.** A single electric cyan against black does more than a full palette ever could.
|
|
109
|
+
- **Darkness as the stage.** The near-black ground is the foundation that lets light read as light.
|
|
110
|
+
- **Sharp over soft.** Crisp corners (3px) keep the game-UI edge.
|
|
111
|
+
- **Contrast is the depth system.** Luminosity, not shadow, signals hierarchy.
|
|
112
|
+
|
|
113
|
+
## 13. Personas
|
|
114
|
+
- **The rhythm-game player** who expects a sleek, neon-lit interface and reads the dark canvas as native territory.
|
|
115
|
+
- **The fan of the studio's titles** (Cytus, Deemo, VOEZ, Sdorica) arriving to learn more, who recognizes the premium, screen-first mood.
|
|
116
|
+
|
|
117
|
+
## 14. States
|
|
118
|
+
- **Default CTA:** cyan `#5FE0EE` fill, black `#000000` label, 2px solid white border, 3px radius, 40px height.
|
|
119
|
+
- **Navigation default:** white `#FFFFFF` links at 20px/400 on a transparent 70px header.
|
|
120
|
+
- **Surface default:** near-black `#1A1C1D` ground with white body text.
|
|
121
|
+
|
|
122
|
+
(Hover, pressed, and focus values are not present in the verified source and are intentionally left to qualitative judgment rather than invented.)
|
|
123
|
+
|
|
124
|
+
## 15. Motion & Easing
|
|
125
|
+
No motion or easing values were captured in the verified source. In keeping with the brand's character, any motion should feel as crisp and precise as the visual language — quick, clean transitions that match a rhythm-game cadence, with the cyan accent used to draw the eye rather than elaborate animation. Specific timing and easing curves are intentionally left unspecified rather than fabricated.
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
**Verified:** 2026-06-01
|
|
129
|
+
**Tier 1 sources:** https://rayark.com (live DOM: body bg #1A1C1D, accent cyan #5FE0EE, transparent header, white nav 20px/400, 70px height, 'Play Now' CTA values), https://rayark.com/en/about/ (English studio identity / brand narrative), https://github.com/rayark (studio org / catalog cross-reference)
|
|
130
|
+
**Tier 2 sources:** getdesign.md/rayark — NOT LISTED. refero — not listed (game studio absent).
|
|
131
|
+
**Conflicts unresolved:** none
|
|
132
|
+
**Proof:** see .verification.md (## Proof block)
|