JKOPay DESIGN.md
Brands
Taiwan's most widely used electronic payment platform, positioning itself as a full-spectrum fintech lifestyle companion — not just a wallet, but the infrastructure for daily life.
At a glance
- Group
- Brands
- Main color
- #c9191dRed design systems
- Fonts
- PingFang TCsource-han-sans-traditional
Colors in this file
- #c9191d
primary
- #f4f4f6
surface
- #42434a
body
- #ffffff
white
- #d51b1f
primary-hover
- #2e7dd9
blue-accent
- #851113
primary-dark
- #171718
dark-bg
- #292f40
dark-nav
- #ededf1
border
Taiwan's most widely used electronic payment platform, positioning itself as a full-spectrum fintech lifestyle companion — not just a wallet, but the infrastructure for daily life.
Overview
Visual Theme & Atmosphere
JKOPay's visual language is built around approachable confidence: a bold JKO red on a clean white-to-light-gray canvas that reads as modern and trustworthy without the austerity of traditional banking. The interface uses a clear typographic hierarchy with PingFang TC at its core, prioritising readability for Chinese-speaking users across age groups. Card surfaces carry a subtle gradient from pure white to a warm gray (#F4F4F6), with a barely-there shadow (0 15px 30px -25px rgba(0,0,0,0.12)) that lifts them off the page without theatrical depth. Navigation adopts a frosted-glass treatment (rgba(255,255,255,0.80)) that anchors the interface without competing with content. The overall atmosphere is warm, civic, and frictionless — built for the street-level simplicity of scanning and paying in seconds.
Primary tasks
- Pay at the counter with a single scan
- Send money straight to another person from the app
- Top up a transit card and pay monthly utility bills
- Check your cashback balance and act on an in-app promotion
- Take payments at a stall and withdraw the takings weekly
Brand Narrative
JKOPay (街口支付) was born from a simple frustration: in 2015, cash still dominated Taiwan's street economy despite the country's technological sophistication. Kevin Hu, returning from Wall Street where he had worked as a hedge fund analyst, saw what mobile-first payment infrastructure had done in China and believed Taiwan deserved the same. With backing from the JKO Network ecosystem his family had built, he launched JKOPay with a mandate not of profit maximisation but of societal utility — "For me, the value of entrepreneurship lies in whether it makes people's lives more convenient."
The name itself — 街口 (jiē kǒu), meaning "street corner" or "intersection" — embeds the brand's core promise into its identity. JKOPay is not a bank app or a tech platform; it is the infrastructure of the everyday corner, the moment where daily life meets commerce. The brand grew by befriending the merchants others ignored: night market vendors, small-town convenience stores, neighbourhood restaurants. By 2023, JKOPay had become Taiwan's largest e-wallet by both user count and transaction volume, handling everything from QR-code payments and P2P transfers to insurance, investment, and hospital registration.
The brand's evolution reflects this ambition. The tagline shifted from the utilitarian "掃碼行動支付" (scan-code mobile payment) to the expansive "不止支付" (more than payment) — acknowledging that the product had outgrown any single category. JKOPay envisions itself as Taiwan's answer to an integrated fintech super-app: accessible enough for a grandmother at the wet market, sophisticated enough for the daily investor checking their Tuofu Bao savings account.
Principles
-
Convenience is the product. The interface must remove friction at every touchpoint — one tap to pay, one scan to complete. UI implication: Primary CTA is always above the fold; payment codes load instantly with no intermediate loading state displayed to the user.
-
Inclusive by design. Taiwan's market spans every age and digital literacy level. Design must work for both the tech-native university student and the sixty-year-old market vendor. UI implication: Minimum touch targets of 48px; large body text (18–21px) for key transactional content; avoid icon-only navigation labels.
-
Trust is earned through transparency. The brand grew in a conservative financial culture; clarity and directness are non-negotiable. UI implication: All fees, limits, and state changes must be surfaced proactively; no buried fine print. Success and error states are unambiguous.
-
The street corner, not the boardroom. JKOPay's voice and visual language stay close to street-level Taiwan, not aspirational finance. UI implication: Photography shows real urban Taiwan — convenience stores, wet markets, MRT stations, not abstract lifestyle imagery. Typography favors clarity over elegance.
-
Ecosystem over transaction. Every payment is an entry point to a broader financial life. UI implication: Post-payment screens offer relevant next actions (savings, cashback, merchant discovery) rather than a dead-end confirmation.
Personas
Illustrative — representative archetypes based on JKOPay's stated market position and public user research.
Illustrative Persona 1 — The Urban Commuter (小美, 28) A Taipei office worker who uses JKOPay for her morning coffee, MRT top-up, lunch delivery, and monthly utility bills. She values speed above all — she wants to pay and move on. She checks her cashback balance weekly and responds to in-app promotions for brands she already uses.
Illustrative Persona 2 — The Night Market Merchant (阿伯, 55) A second-generation stall owner who adopted JKOPay when his regular customers started asking. He only needs the merchant QR code scan flow and weekly withdrawal. His design requirement: no clutter, large text, and a reliable receipt confirmation he can show customers.
Illustrative Persona 3 — The Student Saver (志豪, 22) A university student who uses JKOPay for peer transfers ("找錢"), splitting meals with friends, and exploring JKOPay's Tuofu Bao micro-savings. He discovered the app because it offered the best cashback at FamilyMart. He is price-sensitive and motivated by gamified rewards.
Illustrative Persona 4 — The SME Owner (雅雯, 42) A small business owner who integrated JKOPay for her e-commerce checkout and physical pop-up stalls. She needs the merchant dashboard for reconciliation and values JKOPay's broad customer reach (6 million+ users) as a marketing channel.
Colors
- Brand Red (Primary):
#C9191D— primary action color; CTAs, brand highlights, active states, icon fills - Brand Red Hover:
#D51B1F— button hover state on primary CTAs - Brand Red Dark:
#851113— pressed/active state on primary interactive elements - Body Text:
#42434A— default text (rgb 66 67 74); high contrast on white surfaces - Dark Background:
#171718— footer, dark-mode panel backgrounds - Gray 900 / Dark Nav:
#292F40— section headings, heavy text on dark panels - Surface / Card:
#F4F4F6— card backgrounds, input fill, tag backgrounds - Border / Divider:
#EDEDF1— horizontal rules, card edges, list separators - Placeholder Text:
#B7B8C4— input placeholder, disabled labels - Blue Accent:
#2E7DD9— informational links, secondary highlights
Typography
JKOPay uses a CJK-first font stack led by PingFang TC, falling back through Apple system fonts and then the Noto/Source Han family for cross-platform consistency.
Font stack: PingFang TC, apple-system, system-ui, BlinkMacSystemFont, pingfang-tc, aktiv-grotesk, source-han-sans-traditional, Segoe UI, Roboto, Helvetica Neue, 微軟正黑體, sans-serif
Scale:
- Display / Hero: 56px (mobile) → desktop responsive
- Heading LG-1: 50px
- Heading LG-2: 42px
- Heading LG-3: 36px
- Body MD: 21.4px (custom class
text-body-md) - Body SM: 18px (custom class
text-body-sm) - Body SM-2: 14px
- Body SM-1 / Caption: 13px
- Base UI: 16px
- Button: 17px /
font-medium(weight 500)
Weights: 500 (medium) for UI elements and buttons; 600 for section labels; 700 for display headlines.
Line-height: 1.5 base; custom leading classes (leading-body-sm-1) for dense CJK text.
Layout
JKOPay's homepage uses a single-column, full-bleed section layout on mobile, expanding to a constrained max-width container (≈1280px) on desktop with generous horizontal padding (4vw on large screens). Content sections alternate between white and light-gray (#F4F4F6) backgrounds, creating a visual rhythm without hard borders. The hero section stacks headline, subtext, and dual CTAs vertically, with a background photo covering the viewport. Feature cards are arranged in a 1-column (mobile) → 2–3-column (tablet/desktop) responsive grid. CTA buttons maintain a minimum width of 194px and are centered on mobile, left-aligned on desktop.
Responsive Behavior
JKOPay is built with Tailwind CSS and uses the breakpoints sm (640px), md (768px), lg (1024px), xl (1280px). Key responsive rules:
- Hero headline: 36px mobile → 42px sm → 50px lg
- Primary button padding:
py-[12px] px-[24px]mobile →py-[15px] px-[86px]sm+ - Card radius: 20px mobile → 30px sm → consistent 20–24px on cards
- Section padding: 16px mobile → 25px md → 40–60px sm+
- Grid columns: 1-col mobile → 2-col md → 3-col lg for feature grids
- Nav height: fixed
4rem(64px) withcalc(4rem + 2px)on sm+ for hairline border
Elevation & Depth
JKOPay uses a restrained, two-tier shadow system:
- Tier 0 – Flat: No shadow; used for inline text links, tags, navigation items.
- Tier 1 – Card:
0 5px 40px -20px rgba(0,0,0,0.078)— subtle lift for brand-wrapper cards and icon containers. - Tier 2 – Modal / Floating:
0 8px 16px 0 rgba(0,0,0,0.20)— dialogs, dropdown panels, toast notifications.
The frosted-glass nav (rgba(255,255,255,0.80)) adds implicit elevation through translucency rather than shadow. Dark overlays use rgba(0,0,0,0.50) for modals and rgba(0,0,0,0.80) for full-screen drawers.
Values kept in prose
Measured values the DESIGN.md token grammar cannot carry, kept verbatim:
shadow.card:rgba(0,0,0,0.12) 0px 15px 30px -25px
Motion & Easing
Duration scale:
- Micro (hover, focus ring): 150ms
- Standard (page transitions, modals): 250ms
- Expressive (QR scan animation, hero entrance): 800ms
Easing:
- Default interactive:
cubic-bezier(0.4, 0, 0.2, 1)(Tailwindease-in-out/ Material standard) - Entry (elements appearing):
ease-in—cubic-bezier(0.0, 0, 0.2, 1) - Exit (elements disappearing):
ease-out150ms
Rules:
- All interactive state changes (hover, focus, active) use the 150–200ms micro duration.
- Modal overlays fade in at 250ms
ease-in; fade out at 250ms with visibility transition at 100msease-inoffset. - Page-level transforms (scroll-triggered reveals) use 800ms with AOS (animate-on-scroll) library.
- Never animate layout shifts — only opacity and transform changes.
- QR code scan pulse uses
transition: transform 0.8son concentric circles.
Components
Primary CTA Button
Solid Red (Primary)
- Background:
#C9191D - Text:
#FFFFFF - Border: none
- Radius: 12px
- Padding: 12px 29px
- Font: 17px / 500
- Hover Background:
#D51B1F
Ghost / Secondary
- Background:
rgba(255,255,255,0.30) - Text:
#C9191D - Border: 1px solid
#C9191D - Radius: 9px
- Padding: 12px 24px
- Font: 17px / 500
- Hover Background:
rgba(134,134,134,0.063)
Navigation Bar
Top Nav
- Background:
rgba(255,255,255,0.80) - Height: 64px
- Border: 0 solid
rgba(0,0,0,0.10) - Font: 16px / 500
- Text:
#42434A
Card
Standard Card
- Background:
#F4F4F6 - Border: 1px solid
rgba(244,244,246,0) - Radius: 20px
- Shadow:
0 15px 30px -25px rgba(0,0,0,0.12) - Padding: 16px
Tag / Badge
Brand Tag
- Background:
#F4F4F6 - Text:
#C9191D - Radius: 40px
- Padding: 2px 12px
- Font: 13px / 500
Verified: 2026-06-03 Tier 1 sources: (homepage HTML + Next.js CSS bundle); (main CSS bundle, 68 KB); (official brand logo SVG); (press/brand page); (download page) Tier 2 sources: getdesign.md/jkopay — NOT LISTED ("No designs found for 'jkopay'"). refero — no result for JKOPay (TW brand, not indexed). Conflicts unresolved: none
States
- Empty: Illustration of a QR code scanner with the prompt "尚無交易記錄" (No transactions yet) and a single primary CTA to make the first payment.
- Loading — Scan: Animated concentric red rings pulse from the QR code centre; no spinner, motion stays within the barcode boundary.
- Loading — Page: Full-page skeleton with
#F4F4F6shimmer bars replacing content blocks; nav and footer remain visible. - Error — Payment Failed: Red-bordered inline alert banner (
#C9191Dleft border,#FFEEEBbackground) with clear message and a retry CTA. - Error — Network: Toast notification with
rgba(0,0,0,0.80)dark background, white text, auto-dismisses after 4 seconds. - Success — Payment: Full-screen confirmation with a bold checkmark icon in
#C9191D, transaction amount, merchant name, and a "返回首頁" (Back to home) secondary link. - Skeleton: Card skeletons use
#F4F4F6base with a linear-gradient shimmer; maintains same height and radius as real cards. - Disabled: Buttons drop to
rgba(201,25,29,0.40)(60% opacity red) andcursor: not-allowed; text remains white for legibility.
Do's and Don'ts
Do
- Use
#C9191Das the sole primary action color; keep all CTAs visually consistent. - Apply PingFang TC as the first font in the stack for CJK content rendering.
- Maintain 12px border-radius on primary buttons and 20px on cards for brand consistency.
- Use the frosted-glass pattern (
rgba(255,255,255,0.80)) for sticky navigation. - Keep button text at 17px / 500 weight regardless of container size.
- Use the #F4F4F6 surface for card backgrounds; never use pure white cards on white pages.
- Maintain a minimum button width of 194px for standalone CTAs.
- Reserve
#2E7DD9blue strictly for informational/link contexts, not actions.
Don't
- Never mix multiple accent colors within a single CTA row — one primary, one ghost maximum.
- Don't use font-weight 700 for body copy; reserve bold for hero headlines only.
- Avoid hard drop shadows deeper than Tier 2; JKOPay uses soft, spread shadows.
- Don't change button radius per breakpoint — 12px on desktop, 9px on mobile only for the ghost variant.
- Never use the brand red (
#C9191D) for error states — keep error semantically distinct. - Avoid placing content text below 13px to maintain CJK legibility standards.
Voice & Tone
Adjectives: Approachable, empowering, matter-of-fact.
| Do | Don't |
|---|---|
| Use everyday Mandarin; keep sentences short and action-oriented | Use banking jargon or formal register |
| Lead with user benefit ("解鎖生活" — unlock life) | Lead with product features or technical specs |
| Use "你" (you) to address users directly | Use passive constructions or impersonal phrasing |
| Be warm but efficient — one idea per sentence | Over-explain or add hedging language |
Voice samples (illustrative):
- Illustrative: "不止支付,用手機聰明解鎖生活每一刻。" (More than payment — smartly unlock every moment of life with your phone.)
- Illustrative: "結帳只要出示個人條碼,輕鬆完成付款。" (Just show your barcode to complete payment — done in seconds.)
- Illustrative: "從早餐到晚餐,從捷運到便利商店,街口陪你走過每一個生活場景。" (From breakfast to dinner, from the MRT to the convenience store — JKO is with you at every moment of life.)
Agent Prompt Guide
When building JKOPay-style UI:
- Start with a white or
#F4F4F6background; use#C9191Dfor all primary interactive elements. - Font stack must lead with
PingFang TCfor correct CJK rendering. - Buttons: solid red (
#C9191D) primary + ghost (border: #C9191D, bg: transparent) secondary; radius 12px desktop / 9px mobile ghost. - Cards:
#F4F4F6background,20pxradius, subtle shadow0 15px 30px -25px rgba(0,0,0,0.12). - Navigation: sticky,
rgba(255,255,255,0.80)backdrop, 64px tall, brand-red active links. - Typography: 16px base, 17px buttons (medium 500), 21.4px body section text, 42–56px hero.
- Avoid deep shadows, loud gradients, or competing accent colors — the interface stays warm and uncluttered.
- Use
transition-timing-function: cubic-bezier(0.4,0,0.2,1)(Tailwind's default easing) for interactive transitions.
Use it with your agent
Save the file as DESIGN.md in your project root, then ask your agent to follow it for UI work. Or let the agent fetch it over MCP.
Download
MCP server
MCP tool call
Related Design.md files
iCook
Brands · PingFang TC
iCook (愛料理) is Taiwan's largest recipe and cooking community platform, built by Polydice Inc. since 2011. Its design language radiates the warmth and approachability of home cooking — warm neutrals, a coral-red brand…
17LIVE
Brands · Segoe UI
17LIVE is one of the world's largest live-streaming and interactive-entertainment platforms — a place where a "LIVER" (17LIVE's word for a livestreamer) broadcasts to fans who react in real time with virtual gifts,…
FunNow
Brands · Helvetica Neue
FunNow is Taiwan's on-demand "go out tonight" booking platform, and its web surface looks exactly like what it is: a fast, inventory-dense marketplace built on Material Design plumbing. The page sits on a cool…
iCHEF
Brands · PingFang TC
iCHEF is an award-winning iPad-based restaurant point-of-sale system born in a Taipei beef-noodle shop, and its design system reflects a rare dual identity: it must look trustworthy enough to run a restaurant's money…
Roblox
Brands · Builder Sans
Playful, high-energy platform design for a user-generated game universe. Roblox's public product pairs a clean white/dark UI shell with bold rounded typography, saturated accent colors, and thumbnail-driven discovery…
MaiCoin / MAX
Brands · Segoe UI
MaiCoin is the largest crypto-exchange group in Taiwan, and its design splits cleanly across two surfaces with two distinct personalities. The consumer-facing buy/sell site (www.maicoin.com) is warm and approachable:…