oh-my-design-cli 1.8.0 → 1.8.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.
@@ -0,0 +1,431 @@
1
+ ---
2
+ id: postype
3
+ name: POSTYPE
4
+ display_name_kr: 포스타입
5
+ country: KR
6
+ category: consumer-tech
7
+ homepage: "https://www.postype.com"
8
+ primary_color: "#f33d4d"
9
+ logo:
10
+ type: favicon
11
+ slug: "https://www.google.com/s2/favicons?domain=postype.com&sz=128"
12
+ verified: "2026-06-11"
13
+ added: "2026-06-11"
14
+ omd: "0.1"
15
+ tokens:
16
+ source: live-extract
17
+ extracted: "2026-06-11"
18
+ note: "Action color is ink charcoal (#2c2c2f) on the filled sign-up CTA; brand accent is POSTYPE red (#f33d4d, ×21 bg occurrences); interactive links use blue (#3478ff); purple (#8956f8) is a minor decorative accent. Near-black body ink #141415. Flat, shadowless chrome on a white/light-grey canvas."
19
+ colors:
20
+ primary: "#f33d4d"
21
+ action: "#2c2c2f"
22
+ ink: "#141415"
23
+ link: "#3478ff"
24
+ accent-purple: "#8956f8"
25
+ immersive: "#1e1b3a"
26
+ body: "#62626a"
27
+ muted: "#76767f"
28
+ canvas: "#ffffff"
29
+ surface: "#f2f2f3"
30
+ surface-alt: "#f9f9fa"
31
+ hairline: "#eaeaeb"
32
+ on-dark: "#ffffff"
33
+ typography:
34
+ family: { sans: "Postype Sans-serif KR", fallback: "Apple SD Gothic Neo" }
35
+ heading: { size: 32, weight: 700, lineHeight: 1.25, use: "Page / brand headline, Postype Sans-serif KR Bold" }
36
+ nav: { size: 16, weight: 400, lineHeight: 1.5, use: "Top nav pill labels" }
37
+ body: { size: 16, weight: 400, lineHeight: 1.5, use: "Standard reading text" }
38
+ button: { size: 15, weight: 600, lineHeight: 1.5, use: "Login / sign-up CTA label" }
39
+ button-sm: { size: 13, weight: 600, lineHeight: 1.5, use: "Subscribe / inline action label" }
40
+ caption: { size: 14, weight: 400, lineHeight: 1.5, use: "Legal footer links, metadata" }
41
+ chip: { size: 11, weight: 400, lineHeight: 1.5, use: "Tag chips" }
42
+ spacing: { xs: 4, sm: 6, md: 8, base: 12, lg: 16, xl: 24, xxl: 40 }
43
+ rounded: { sm: 6, md: 8, chip: 24, full: 9999 }
44
+ shadow:
45
+ none: "none"
46
+ components:
47
+ button-signup: { type: button, bg: "#2c2c2f", fg: "#ffffff", radius: "8px", padding: "6px 16px", height: "40px", font: "15px / 600 Postype Sans-serif KR", use: "Primary filled CTA — 회원 가입 / sign up" }
48
+ button-login: { type: button, bg: "#ffffff", fg: "#2c2c2f", border: "1px solid #eaeaeb", radius: "8px", padding: "6px 16px", height: "40px", font: "15px / 600 Postype Sans-serif KR", use: "Secondary outlined action — 로그인 / log in" }
49
+ button-subscribe: { type: button, bg: "#f2f2f3", fg: "#2c2c2f", radius: "8px", padding: "4px 12px", height: "32px", font: "13px / 600 Postype Sans-serif KR", use: "Tinted-grey compact action — 구독 / subscribe" }
50
+ nav-pill: { type: tab, fg: "#2c2c2f", radius: "8px", padding: "4px 12px", font: "16px / 400 Postype Sans-serif KR", active: "bg #f2f2f3", use: "Top nav item, active = tinted-grey fill" }
51
+ tag-chip: { type: badge, bg: "#f2f2f3", fg: "#2c2c2f", radius: "24px", font: "11px / 400 Postype Sans-serif KR", use: "Content tag / category chip" }
52
+ card-surface: { type: card, bg: "#f9f9fa", fg: "#141415", radius: "8px", use: "Tinted content card on light-grey surface, flat (no shadow)" }
53
+ avatar: { type: avatar, bg: "#ffffff", radius: "9999px", height: "48px", use: "Circular channel/creator avatar" }
54
+ footer-link: { type: listItem, fg: "#2c2c2f", font: "14px / 400 Postype Sans-serif KR", use: "Footer / legal navigation link" }
55
+ components_harvested: true
56
+ ---
57
+
58
+ # Design System Inspiration of POSTYPE
59
+
60
+ ## 1. Visual Theme & Atmosphere
61
+
62
+ POSTYPE (포스타입) is Korea's creator-publishing and paid-serialization community, and its interface reads like a calm reading room built for taste rather than a noisy content feed. The canvas is pure white (`#ffffff`) layered with a soft cool-grey surface (`#f2f2f3`) and a second near-white tint (`#f9f9fa`) that quietly segment the page into airy reading zones. Text sits in a deep near-black charcoal (`#141415` for prose, `#2c2c2f` for UI labels) — never harsh pure black for the chrome — which gives the platform an editorial, content-first weight. The brand mark introduces a single saturated POSTYPE red (`#f33d4d`) used sparingly as the identity accent, while interactive links lean on a clear blue (`#3478ff`), so the eye learns to treat red as "the brand" and blue as "the link."
63
+
64
+ The typographic personality is unmistakably Korean-product: the system runs on the custom `Postype Sans-serif KR` face (falling back to `Apple SD Gothic Neo`), with headlines at weight 700 and a quiet 16px / weight 400 for nav and reading text. There is no flashy display weight or oversized hero type fighting for attention — POSTYPE puts the creator's content first and keeps its own chrome deliberately reserved. The result is a system that feels like infrastructure for reading and earning, not a marketing landing page.
65
+
66
+ What distinguishes POSTYPE from feed-driven peers is its restraint with depth and its commitment to soft, rounded chrome. Live inspection found `box-shadow: none` across the nav, buttons, and cards — separation comes from flat tinted surfaces (`#f2f2f3` / `#f9f9fa`) and thin `#eaeaeb` hairlines rather than elevation. Interactive chrome is consistently rounded: 8px on buttons and nav pills, a softer 24px on tag chips, full circles on avatars. The filled action button is charcoal (`#2c2c2f`), not the brand red — a quiet, premium choice that keeps red for identity and reserves a neutral, decisive ink for the primary tap target. An occasional deep indigo (`#1e1b3a`) and a minor purple (`#8956f8`) appear on immersive banners and decorative accents.
67
+
68
+ **Key Characteristics:**
69
+ - Custom `Postype Sans-serif KR` typeface for the entire UI — headlines at weight 700, body/nav at 400
70
+ - Near-black charcoal text (`#141415` prose, `#2c2c2f` UI) instead of pure black — editorial, content-first
71
+ - Single saturated brand red (`#f33d4d`) reserved for identity accents, not buttons
72
+ - Charcoal (`#2c2c2f`) as the primary filled-action color — quiet, decisive, premium
73
+ - Interactive blue (`#3478ff`) for links and counts — clearly separated from the brand red
74
+ - Flat depth: no shadows; tinted `#f2f2f3` / `#f9f9fa` surfaces + `#eaeaeb` hairlines do the separating
75
+ - Soft rounded geometry — 8px buttons/nav, 24px tag chips, full-round avatars
76
+ - Cool-grey text ladder (`#62626a` → `#76767f`) for secondary and muted hierarchy
77
+
78
+ ## 2. Color Palette & Roles
79
+
80
+ ### Brand & Accent
81
+ - **POSTYPE Red** (`#f33d4d`): The brand identity accent — logo, brand highlights, occasional emphasis. The single saturated hue, used sparingly so it stays distinctive (×21 background occurrences in the live scan, mostly small marks).
82
+ - **Accent Purple** (`#8956f8`): A minor decorative accent for badges and select promotional surfaces.
83
+ - **Immersive Indigo** (`#1e1b3a`): Deep indigo background for immersive banner blocks and dark promotional cards.
84
+
85
+ ### Action & Interactive
86
+ - **Action Charcoal** (`#2c2c2f`): Primary filled-button background (sign-up CTA) and the default UI label color. The decisive, neutral "do this" color.
87
+ - **Link Blue** (`#3478ff`): Interactive links, counts, and inline actions. Reserved for navigation-style interactivity, distinct from the brand red.
88
+
89
+ ### Text Hierarchy
90
+ - **Ink** (`#141415`): Primary reading text and headlines. A near-black with the faintest warmth.
91
+ - **UI Ink** (`#2c2c2f`): Nav labels, button text, footer links — the chrome's default text.
92
+ - **Body Slate** (`#62626a`): Secondary body copy, supporting labels.
93
+ - **Muted Slate** (`#76767f`): Tertiary text, captions, metadata, disabled-leaning labels.
94
+
95
+ ### Neutral & Surface
96
+ - **Pure White** (`#ffffff`): Page background, white cards, text on dark/charcoal.
97
+ - **Surface Grey** (`#f2f2f3`): Cool-grey tinted surface for active nav pills, tag chips, and segmented blocks.
98
+ - **Surface Alt** (`#f9f9fa`): A softer near-white tint for alternating content cards and sections.
99
+ - **Hairline** (`#eaeaeb`): Thin borders, dividers, and outlined-button borders — the primary separation device in this shadow-free system.
100
+
101
+ ## 3. Typography Rules
102
+
103
+ ### Font Family
104
+ - **Primary**: `Postype Sans-serif KR` (with fallbacks `Apple SD Gothic Neo`, `Malgun Gothic`, `sans-serif`) — the custom POSTYPE face used across the entire UI, headlines through captions.
105
+
106
+ ### Hierarchy
107
+
108
+ | Role | Font | Size | Weight | Line Height | Notes |
109
+ |------|------|------|--------|-------------|-------|
110
+ | Heading | Postype Sans-serif KR | 32px (2.00rem) | 700 | 1.25 | Page / brand headline |
111
+ | Nav Link | Postype Sans-serif KR | 16px (1.00rem) | 400 | 1.5 (24px) | Top nav pill labels |
112
+ | Body | Postype Sans-serif KR | 16px (1.00rem) | 400 | 1.5 (24px) | Standard reading text |
113
+ | Button | Postype Sans-serif KR | 15px (0.94rem) | 600 | 1.5 | Login / sign-up CTA label |
114
+ | Button Small | Postype Sans-serif KR | 13px (0.81rem) | 600 | 1.5 | Subscribe / inline action |
115
+ | Caption | Postype Sans-serif KR | 14px (0.88rem) | 400 | 1.5 | Legal footer links, metadata |
116
+ | Chip | Postype Sans-serif KR | 11px (0.69rem) | 400 | 1.5 | Tag chips |
117
+
118
+ ### Principles
119
+ - **One typeface, full hierarchy**: The custom `Postype Sans-serif KR` carries everything — there is no display/body font split. Hierarchy comes from weight (700 → 600 → 400) and size, not from swapping families.
120
+ - **Weight as emphasis**: Headlines at 700, interactive labels at 600, reading and nav text at 400. The CTA gains presence from weight 600, not from color or size.
121
+ - **Hangul-first sizing**: Body and nav sit at a comfortable 16px / 1.5 line-height — generous for hangul legibility in long-form creator content.
122
+ - **Reserved chrome**: The UI never out-sizes the creator's content; 32px is the largest chrome size, keeping POSTYPE's own type quiet.
123
+
124
+ ## 4. Component Stylings
125
+
126
+ ### Buttons
127
+
128
+ **Sign-up CTA (Primary)**
129
+ - Background: `#2c2c2f`
130
+ - Text: `#ffffff`
131
+ - Radius: 8px
132
+ - Padding: 6px 16px
133
+ - Height: 40px
134
+ - Font: 15px / 600 / Postype Sans-serif KR
135
+ - Use: Primary filled call-to-action — "회원 가입" (sign up)
136
+
137
+ **Login (Outlined)**
138
+ - Background: `#ffffff`
139
+ - Text: `#2c2c2f`
140
+ - Border: 1px solid `#eaeaeb`
141
+ - Radius: 8px
142
+ - Padding: 6px 16px
143
+ - Height: 40px
144
+ - Font: 15px / 600 / Postype Sans-serif KR
145
+ - Use: Secondary outlined action — "로그인" (log in)
146
+
147
+ **Subscribe (Tinted Compact)**
148
+ - Background: `#f2f2f3`
149
+ - Text: `#2c2c2f`
150
+ - Radius: 8px
151
+ - Padding: 4px 12px
152
+ - Height: 32px
153
+ - Font: 13px / 600 / Postype Sans-serif KR
154
+ - Use: Tinted-grey compact action — "구독" (subscribe)
155
+
156
+ ### Tabs (Nav Pills)
157
+
158
+ **Top Nav Item**
159
+ - Text: `#2c2c2f`
160
+ - Radius: 8px
161
+ - Padding: 4px 12px
162
+ - Font: 16px / 400 / Postype Sans-serif KR
163
+ - Active: `#f2f2f3` tinted-grey fill
164
+ - Use: Top navigation items ("홈", "오픈 채널", "리퀘스트", "캐릭터톡", "보관함")
165
+
166
+ ### Badges (Tag Chips)
167
+
168
+ **Tag Chip**
169
+ - Background: `#f2f2f3`
170
+ - Text: `#2c2c2f`
171
+ - Radius: 24px
172
+ - Font: 11px / 400 / Postype Sans-serif KR
173
+ - Height: 20px
174
+ - Use: Content tag / category chip
175
+
176
+ ### Cards & Containers
177
+
178
+ **Tinted Surface Card**
179
+ - Background: `#f9f9fa`
180
+ - Text: `#141415`
181
+ - Radius: 8px
182
+ - Use: Tinted content card on light-grey surface, flat (no shadow)
183
+
184
+ ### Avatars
185
+
186
+ **Channel Avatar**
187
+ - Background: `#ffffff`
188
+ - Radius: 9999px (full circle)
189
+ - Height: 48px
190
+ - Use: Circular creator / channel avatar
191
+
192
+ ### List Items (Footer Links)
193
+
194
+ **Footer Link**
195
+ - Text: `#2c2c2f`
196
+ - Font: 14px / 400 / Postype Sans-serif KR
197
+ - Padding: 3px 8px
198
+ - Use: Footer and legal navigation ("이용 약관", "개인정보 처리방침", "청소년 보호 정책")
199
+
200
+ ---
201
+ **Verified:** 2026-06-11
202
+ **Tier 1 sources:** https://www.postype.com, https://www.postype.com/@team, https://about.postype.com
203
+ **Tier 2 sources:** getdesign.md/postype (no designs found) | styles.refero.design/?q=postype (not listed) — none available
204
+ **Conflicts unresolved:** none
205
+
206
+ ## 5. Layout Principles
207
+
208
+ ### Spacing System
209
+ - Base unit: 4px
210
+ - Scale: 4px, 6px, 8px, 12px, 16px, 24px, 40px
211
+ - Notable: Nav pills and tinted actions land on a tight 4px 12px padding; primary buttons relax to 6px 16px — a compact, reading-room rhythm rather than oversized marketing chrome
212
+
213
+ ### Grid & Container
214
+ - Persistent left sidebar / top nav with pill-style navigation items, content-feed body to the right
215
+ - Creator channels present a single-column reading column with metadata, subscribe, and tag chips
216
+ - Feature/intro sections alternate white (`#ffffff`) and tinted (`#f9f9fa` / `#f2f2f3`) full-width bands
217
+ - Cards group posts/series at 8px radius without elevation
218
+
219
+ ### Whitespace Philosophy
220
+ - **Reading-room calm**: generous vertical rhythm around content blocks; the chrome recedes so creator work is the focus.
221
+ - **Flat segmentation**: sections separate by background tint (`#f2f2f3` / `#f9f9fa` vs `#ffffff`) and `#eaeaeb` hairlines, not by shadow.
222
+ - **Pill cadence**: repeated 8px nav pills and 24px tag chips create a soft, consistent horizontal rhythm.
223
+
224
+ ### Border Radius Scale
225
+ - Small (6px): inner inline elements, count links
226
+ - Medium (8px): buttons, nav pills, cards — the workhorse
227
+ - Chip (24px): tag chips
228
+ - Full (9999px / 50%): avatars, round action buttons
229
+
230
+ ## 6. Depth & Elevation
231
+
232
+ | Level | Treatment | Use |
233
+ |-------|-----------|-----|
234
+ | Flat (Level 0) | No shadow | Page background, inline text, most surfaces |
235
+ | Tint (Level 1) | `#f2f2f3` / `#f9f9fa` background shift | Card/nav/section separation without elevation |
236
+ | Hairline (Level 2) | `1px solid #eaeaeb` border | Outlined buttons, card outlines, dividers |
237
+ | Immersive (Level 3) | `#1e1b3a` dark indigo block | Promotional / banner blocks |
238
+
239
+ **Shadow Philosophy**: POSTYPE is a near-shadowless system. Live inspection found `box-shadow: none` across the nav, buttons, tag chips, and cards. Depth and grouping are communicated entirely through flat tinted surfaces (`#f2f2f3` / `#f9f9fa`) and thin `#eaeaeb` hairlines. This is a deliberate content-first, editorial choice — it keeps the platform feeling like a calm reading and publishing surface rather than a card-stacked app. When emphasis is needed the system reaches for color (charcoal `#2c2c2f` fill, brand red `#f33d4d`, or the immersive indigo `#1e1b3a`), never elevation.
240
+
241
+ ## 7. Do's and Don'ts
242
+
243
+ ### Do
244
+ - Use the custom `Postype Sans-serif KR` typeface for the entire UI — one face, weight-driven hierarchy
245
+ - Use charcoal (`#2c2c2f`) for the primary filled action button — quiet and decisive
246
+ - Reserve the brand red (`#f33d4d`) for identity accents, keeping it rare and distinctive
247
+ - Use link blue (`#3478ff`) for links and counts, separate from the brand red
248
+ - Use near-black charcoal (`#141415` / `#2c2c2f`) for text instead of pure black
249
+ - Separate sections with flat tinted surfaces (`#f2f2f3` / `#f9f9fa`) and `#eaeaeb` hairlines, not shadows
250
+ - Use soft rounded geometry — 8px buttons and nav pills, 24px tag chips, full-round avatars
251
+ - Keep chrome reserved so the creator's content stays the focus
252
+
253
+ ### Don't
254
+ - Use drop shadows for elevation — POSTYPE is a flat, shadow-free system
255
+ - Make the primary button red — red is the identity accent, charcoal is the action color
256
+ - Spread the brand red across many elements — it dilutes the identity signal
257
+ - Use pure black (`#000000`) for body text — reserve near-black charcoal `#141415`
258
+ - Use sharp/square corners on interactive chrome — buttons and pills are rounded
259
+ - Mix a second display font — `Postype Sans-serif KR` owns the whole hierarchy
260
+ - Oversize the chrome — the UI should never compete with the creator's content
261
+ - Use link blue for non-interactive emphasis — blue means "this is a link"
262
+
263
+ ## 8. Responsive Behavior
264
+
265
+ ### Breakpoints
266
+ | Name | Width | Key Changes |
267
+ |------|-------|-------------|
268
+ | Mobile | <640px | Single column, top nav collapses, sidebar becomes a drawer |
269
+ | Tablet | 640-1024px | Moderate padding, 2-up content cards |
270
+ | Desktop | 1024-1440px | Full layout with persistent nav and content feed |
271
+
272
+ ### Touch Targets
273
+ - Nav pills and primary buttons at 40px height — comfortably tappable
274
+ - Subscribe action at 32px height for compact inline placement
275
+ - Tag chips small (20px) but spaced; round avatars at 48px
276
+
277
+ ### Collapsing Strategy
278
+ - Persistent nav: pill row collapses into a drawer/hamburger on narrow viewports
279
+ - Content feed: multi-column → stacked single column
280
+ - Tinted/white alternating sections maintain full-width treatment
281
+ - Tag chip rows wrap on narrow widths
282
+
283
+ ### Image Behavior
284
+ - Post thumbnails and channel banners carry no shadow at any size, consistent with the flat system
285
+ - Cards maintain 8px radius across breakpoints; avatars stay fully circular
286
+
287
+ ## 9. Agent Prompt Guide
288
+
289
+ ### Quick Color Reference
290
+ - Primary action (filled button): Action Charcoal (`#2c2c2f`)
291
+ - Brand accent: POSTYPE Red (`#f33d4d`)
292
+ - Link / count: Link Blue (`#3478ff`)
293
+ - Decorative accent: Purple (`#8956f8`)
294
+ - Immersive banner: Indigo (`#1e1b3a`)
295
+ - Background: Pure White (`#ffffff`)
296
+ - Tinted surface: Surface Grey (`#f2f2f3`), Surface Alt (`#f9f9fa`)
297
+ - Heading / body text: Ink (`#141415`), UI Ink (`#2c2c2f`)
298
+ - Secondary text: Body Slate (`#62626a`)
299
+ - Muted text: Muted Slate (`#76767f`)
300
+ - Hairline: `#eaeaeb`
301
+
302
+ ### Example Component Prompts
303
+ - "Create a top nav: white background, pill-style nav items (8px radius, 4px 12px padding, 16px Postype Sans-serif KR weight 400, #2c2c2f text). Active item gets a #f2f2f3 tinted fill. Right side: outlined login (#ffffff, 1px solid #eaeaeb, #2c2c2f, 8px radius) and a filled charcoal sign-up CTA (#2c2c2f bg, white text, 8px radius, 6px 16px, weight 600). No shadow."
304
+ - "Design a creator post card: #f9f9fa background, 8px radius, no shadow. Title 16px Postype Sans-serif KR, #141415. A subscribe button: #f2f2f3 bg, #2c2c2f text, 8px radius, 13px weight 600, 32px height. Tag chips: #f2f2f3 bg, #2c2c2f text, 24px radius, 11px."
305
+ - "Build a tinted section: #f2f2f3 background, full-width. Separate cards with #eaeaeb hairlines, not shadows. Round creator avatars (48px, full circle, white bg). Use the brand red #f33d4d only on the logo mark."
306
+ - "Create an immersive promo banner: #1e1b3a indigo background, white text, 8px radius. Keep it rare — most surfaces stay white/grey."
307
+
308
+ ### Iteration Guide
309
+ 1. One typeface — `Postype Sans-serif KR` — with weight-driven hierarchy (700/600/400)
310
+ 2. Charcoal (`#2c2c2f`) is the filled-action color; red (`#f33d4d`) is identity-only
311
+ 3. Blue (`#3478ff`) means "link/count"; never use it for non-interactive emphasis
312
+ 4. No shadows — separate with `#f2f2f3` / `#f9f9fa` tint and `#eaeaeb` hairlines
313
+ 5. Soft rounded geometry — 8px buttons/pills, 24px chips, full-round avatars
314
+ 6. Text is near-black charcoal (`#141415` / `#2c2c2f`), never pure black
315
+ 7. Keep the chrome reserved; the creator's content leads
316
+
317
+ ---
318
+
319
+ ## 10. Voice & Tone
320
+
321
+ POSTYPE's voice is **warm, encouraging, and taste-affirming** — a platform that treats every personal taste (취향) as legitimate and worth monetizing, speaking to creators as makers who deserve a sustainable living from their work. The mission line "취향의 가치를 만드는 창작 커뮤니티" ("a creative community that creates value from taste") sets the register: inclusive, dignifying, never gatekeeping. Copy is plain and low-friction, foregrounding ease ("30초면 끝" / "done in 30 seconds") and creator agency over hype.
322
+
323
+ | Context | Tone |
324
+ |---|---|
325
+ | Brand / mission lines | Affirming, taste-first. "취향의 가치를 만드는 창작 커뮤니티." Inclusive, dignifying. |
326
+ | Nav / feature labels | Plain and functional. "오픈 채널", "리퀘스트", "캐릭터톡", "보관함". |
327
+ | CTAs | Direct, low-pressure. "회원 가입", "구독", "로그인". |
328
+ | Creator-facing copy | Empowering, sustainability-framed. Earnings → more creation as a virtuous cycle. |
329
+ | Trust / policy copy | Calm, concrete. "청소년 보호 정책", "권리 침해 신고 센터" stated plainly. |
330
+
331
+ **Voice samples:**
332
+ - "취향의 가치를 만드는 창작 커뮤니티" — homepage title / mission line (taste-first framing). *(verified live 2026-06-11, document.title)*
333
+ - "포스트, 창작의 가치를 수익으로" — service slogan (creation → income). *(verified via about.postype.com 2026-06-11)*
334
+ - "모든 취향이 가치 있는 세상" — stated vision (every taste has value). *(verified via about.postype.com 2026-06-11)*
335
+
336
+ **Forbidden register**: gatekeeping or taste-shaming language, aggressive sales urgency, undefined jargon, exclamation-heavy hype, anything that frames niche creators as less legitimate.
337
+
338
+ ## 11. Brand Narrative
339
+
340
+ POSTYPE (포스타입) launched its public service in **2015** (beta 2015-06-22, official launch 2015-07-17) under **주식회사 포스타입 (Postype, Inc.)**, a Seoul-based startup, with the founding vision of a "content-distribution blog platform." It addressed a gap unique to Korea's creator economy: writers, illustrators, webtoon artists, and niche-hobby creators had no flexible, taste-respecting place to publish long-form work *and* earn directly from the fans who valued it. POSTYPE's founding premise — "모든 취향이 가치 있는 세상" ("a world where every taste has value") — reframed publishing from ad-driven scale-chasing into a marketplace where personal taste itself is the product.
341
+
342
+ The platform matured into a self-described "creator super-app" (크리에이터를 위한 슈퍼 앱), letting creators monetize through individual paid posts, membership subscriptions, commission requests (리퀘스트), character chatbots (캐릭터톡), and community features. POSTYPE frames this as a virtuous cycle: revenue from creation funds more creation, so creators can sustain their practice. As publicly reported, the platform has grown to hundreds of thousands of creators and cumulative transactions in the hundreds of billions of won.
343
+
344
+ What POSTYPE refuses, visible in its design: the loud, ad-saturated, algorithm-feed aesthetic of mass content platforms, and any chrome that out-shouts the creator's work. What it embraces: a flat, calm, reading-room interface; one reserved brand red; a single custom typeface that keeps hierarchy quiet; and copy that affirms taste rather than ranking it.
345
+
346
+ ## 12. Principles
347
+
348
+ 1. **Every taste has value.** POSTYPE exists so niche creators can earn, not just the mainstream. *UI implication:* never visually rank or gate content by popularity in the core reading flow; present creator work neutrally and let tags surface taste.
349
+ 2. **Content leads, chrome recedes.** The platform is a stage, not the show. *UI implication:* keep the UI quiet — one typeface, reserved sizes, charcoal actions, no decorative shadow — so the creator's work is the focus.
350
+ 3. **Red is identity, charcoal is action.** *UI implication:* reserve the brand red (`#f33d4d`) for the mark and rare emphasis; use charcoal (`#2c2c2f`) for the decisive filled action so the next step reads as neutral, not salesy.
351
+ 4. **Flat and calm.** Editorial clarity beats decorative depth. *UI implication:* no shadows; separate with tint and hairlines; keep the page light and easy to read for long stretches.
352
+ 5. **Earnings sustain creation.** The product is a virtuous cycle, not a one-time transaction. *UI implication:* make subscribe and support paths low-friction and always visible on creator surfaces, framed as ongoing support rather than a hard sell.
353
+
354
+ ## 13. Personas
355
+
356
+ *Personas below are fictional archetypes informed by publicly observable POSTYPE user segments (Korean creators publishing paid serialized content, and fans subscribing to niche channels), not individual people.*
357
+
358
+ **서연, 27, 서울.** A web-novel author serializing original fiction. Uses paid posts and memberships to earn directly from readers rather than relying on ad revenue. Chose POSTYPE because it respects niche genres and lets her set her own pricing without feeling judged.
359
+
360
+ **민준, 33, 경기.** An illustrator selling digital asset packs and taking commission requests (리퀘스트). Values that the platform turns fan demand into a structured, low-friction earning channel and that the reading-room UI keeps his portfolio front-and-center.
361
+
362
+ **하은, 24, 부산.** A fan and subscriber who follows several niche creators. Likes that the flat, calm interface makes long reading sessions comfortable and that subscribing to support a creator feels like patronage, not a transaction.
363
+
364
+ ## 14. States
365
+
366
+ | State | Treatment |
367
+ |---|---|
368
+ | **Empty (channel, no posts yet)** | White canvas. Single Ink (`#141415`) line explaining no posts yet, with one charcoal (`#2c2c2f`) CTA to start. No illustration clutter. |
369
+ | **Empty (library, nothing saved)** | Muted Slate (`#76767f`) single line: nothing saved yet, plus a path back to browse. Calm, honest. |
370
+ | **Loading (feed fetch)** | Skeleton cards on `#f9f9fa` tinted surface at final 8px-radius dimensions. Flat pulse — no shadow shimmer, consistent with the shadowless system. |
371
+ | **Loading (subscribe action)** | Inline progress within the subscribe button; previous label stays visible until resolved. |
372
+ | **Error (load failed)** | Inline message in Ink (`#141415`) with a plain-language explanation and a retry. No generic "오류가 발생했습니다" alone — states the next step. |
373
+ | **Error (form validation)** | Field-level message below the input; describes what's valid, not just "필수". |
374
+ | **Success (post published / subscribed)** | Brief inline confirmation in calm tone; next-step link immediately below. No celebratory emoji. |
375
+ | **Skeleton** | `#f2f2f3` / `#f9f9fa` blocks at final dimensions, 8px radius, flat pulse. |
376
+ | **Disabled** | Muted Slate (`#76767f`) text on reduced-opacity surface; charcoal actions fade rather than switch hue, preserving the system read. |
377
+
378
+ ## 15. Motion & Easing
379
+
380
+ **Durations**:
381
+
382
+ | Token | Value | Use |
383
+ |---|---|---|
384
+ | `motion-fast` | 120ms | Hover, pill press, focus |
385
+ | `motion-standard` | 200ms | Card/section reveal, sheet, dropdown, drawer |
386
+ | `motion-slow` | 320ms | Page-level transitions, drawer open |
387
+
388
+ **Easings**:
389
+
390
+ | Token | Curve | Use |
391
+ |---|---|---|
392
+ | `ease-enter` | `cubic-bezier(0.2, 0.6, 0.25, 1)` | Arriving — sheets, cards, nav drawer |
393
+ | `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | Dismissals |
394
+ | `ease-standard` | `cubic-bezier(0.25, 0.1, 0.25, 1)` | Two-way transitions |
395
+
396
+ **Motion rules**: Motion is functional and quiet — consistent with the flat, reading-room aesthetic. Nav pills and buttons respond to press with a subtle opacity/scale shift; feed cards fade-in from below at `motion-standard / ease-enter`. The nav drawer slides at `motion-slow / ease-enter` on mobile. No bounce or spring — a publishing platform signals steadiness and focus, not playful delight. Under `prefers-reduced-motion: reduce`, all transitions collapse to instant; the product remains fully functional.
397
+
398
+ <!--
399
+ OmD v0.1 Sources — Philosophy Layer (sections 10–15)
400
+
401
+ Tier 1 live inspect (2026-06-11) via playwright getComputedStyle on https://www.postype.com
402
+ and https://www.postype.com/@team:
403
+ - body Postype Sans-serif KR / 16px / color rgb(20,20,21) #141415 / bg #ffffff
404
+ - Sign-up CTA bg rgb(44,44,47) #2c2c2f / white / 8px / 6px 16px / weight 600
405
+ - Login outlined 1px solid rgb(234,234,235) #eaeaeb / #2c2c2f
406
+ - Nav pills active bg rgb(242,242,243) #f2f2f3 / 8px
407
+ - Tag chips bg #f2f2f3 / radius 24px / 11px
408
+ - Link/count color rgb(52,120,255) #3478ff
409
+ - Brand red rgb(243,61,77) #f33d4d (×21 bg occurrences), purple rgb(137,86,248) #8956f8, immersive rgb(30,27,58) #1e1b3a
410
+ - box-shadow: none across nav/buttons/chips/cards (shadowless system confirmed)
411
+ - document.title: "포스타입 - 취향의 가치를 만드는 창작 커뮤니티"
412
+
413
+ Token-level claims (§1-9) are sourced from this live inspection.
414
+
415
+ Voice samples (§10) and brand narrative (§11): mission line "취향의 가치를 만드는 창작 커뮤니티"
416
+ is verbatim from the live homepage document.title. Slogan "포스트, 창작의 가치를 수익으로" and
417
+ vision "모든 취향이 가치 있는 세상" are from POSTYPE's official about/intro surface
418
+ (about.postype.com), fetched 2026-06-11. Founding facts (2015 launch under Postype, Inc.,
419
+ Seoul; "creator super-app" positioning; paid posts / memberships / 리퀘스트 / 캐릭터톡
420
+ monetization model) are POSTYPE's own publicly stated descriptions. Growth figures
421
+ (hundreds of thousands of creators, hundreds of billions of won cumulative transactions)
422
+ are publicly reported and stated approximately, not pinned to a single verified figure.
423
+
424
+ Personas (§13) are fictional archetypes informed by publicly observable POSTYPE user
425
+ segments (Korean paid-serialization creators, illustrators taking commissions, niche-channel
426
+ fans). Names are illustrative; they do not refer to real people.
427
+
428
+ Interpretive claims (e.g., "red is identity, charcoal is action", "content leads, chrome
429
+ recedes as a rejection of ad-feed aesthetics") are editorial readings connecting POSTYPE's
430
+ observed design to its stated mission, not directly sourced POSTYPE statements.
431
+ -->