Fubon Financial Holdings

Design System

Designing for coherence across four distinct businesses

A shared foundation, clearer interaction rules, and room for different business needs.

Role

UX Designer

Team

UI Designers

Front-end Engineer

Project Manager

Duration

Feb 2025 - Apr 2026

Client

Fubon Financial Holdings (via Begonia Design)

Role

UX Designer

Team

UI Designers

Front-end Engineer

Project Manager

Duration

Feb 2025 - Apr 2026

Client

Fubon Financial Holdings (via Begonia Design)

Role

UX Designer

Team

UI Designers

Front-end Engineer

Project Manager

Duration

Feb 2025 - Apr 2026

Client

Fubon Financial Holdings (via Begonia Design)

OVERVIEW

The project at a glance

We expanded Fubon’s mobile-focused design system for web and app products across four financial businesses. To address different business needs and unclear component guidance, we developed flexible components, shared interaction rules, and resources for design and implementation.

Challenge

Each business needed different components, and designers, engineers, and PMs each struggled to use the system.

Solution

A shared core with flexible components, behavior guidelines inside Figma, and intent-based naming.

What I did

Defined usage and interaction rules, advocated intent-based naming, and taught the team how tokens work.

Before

After

Before

After

Before

After

Taipei Fubon Bank website, before and after adopting the design system.

BACKGROUND

Extending a mobile-first system across the group

Fubon's design system was built for the bank's mobile app: a Figma UI kit, a guidelines website, and sample code. The life insurance, property insurance, and securities businesses had no components to work from, and none of the four had support for websites. Our team was commissioned to extend the system across the group. To scope the work, we interviewed PMs, designers, and engineers, and collected feedback from all four businesses on 41 components over five rounds.

Only the bank's app was covered. The other three businesses, and every website, had no components to work from.

PROBLEM

One library, four businesses, different ways of working

Businesses pulled components in different directions

Each business needed the same component to do different things. With no place for variation, teams built their own versions.

Components lacked clear definitions

Components showed what to build, but not when to use them, how they behave, or what each variant is for. Similar variants had names that didn't state their purpose.

Resources sat apart from the work

  • Designers have to switched between Figma and the guidelines website to check every component.

  • Engineers received incomplete code that didn't match the spec, so they rewrote it.

  • PMs had no standard for reviewing designs from internal teams or vendors.

STRATEGY

Three principles to guide the system

These principles connected the needs we identified with decisions about architecture, interaction, and delivery.

Consistency & flexibility

Preserve a shared identity while supporting different needs.

Clarity

Make selection and behavior easier to understand.

User-friendly

Make the system easy to access and apply to everyone.

DESIGN

How we put the strategy into components, rules, and names

Consistency & flexibility

A shared core with room to adapt

We kept foundation and semantic tokens centrally governed while allowing subsidiaries to create component tokens for their own needs.

I taght the team how these layers work together and helped establish the token library—giving component-specific changes a defined place without changing shared semantic definitions.

Centre: shared and centrally governed. Edge: where each business may extend.

Consistency & flexibility

Consistency & flexibility

Adapt the composition, preserve the structure

We built configurable components with optional sections and replaceable content slots. Designers could adapt a Dialog to different tasks while retaining its shared layout and action structure.

Try it! Flip a switch →
Dialog preview — Subtitle shown, footer shown with secondary action and extra action (Placeholder), body content: Placeholder, slots outlined.

Set up a monthly plan

Review the details before you confirm.

Slot
Slot
Optional sections
Subtitle
Footer
Secondary action
Extra action
Replaceable content
Show slots
  • Shared structureThe layout remains consistent.
  • Optional sectionsShow or hide predefined areas.
  • Replaceable slotsAdapt content to the task.

Clarity

Name components by intent, not appearance

I advocated for intent-based names, and the team adopted intent as the primary naming logic across the library and here's the reason:

Designers across four businesses must follow this system. An appearance-based name leaves them to decide what a button means, so the same-looking button can carry different intents in different products. Customers who use more than one Fubon app would then learn what a control does in one app and find it behaves differently in the next.

Appearance names

Intent names

Transfer

Schedule for later

Back

⋯⋯⋯⋯⋯⋯

Solid Button

⋯⋯⋯⋯⋯⋯

Outlined Button

⋯⋯⋯⋯⋯⋯

Ghost Button

Filled background

Border, no fill

Text only, no container

Appearance names describe how a button looks. Switch to intent names to see what each one is for.

Clarity

Define when components are used and how they behave

To create a more cohesive experience across different products and platforms, I documented usage scenarios, interaction behavior, and constraints alongside the visual specifications, so teams could apply shared rules to new product flows.

Here is how the Drawer guideline covers all three.

Example: Drawer

Usage and Scenarios

Terms

For content users must read in full and agree to. Supports scrolling and pairs with Agree / Disagree actions.

Interaction Behavior

Right on desktop, bottom on mobile

Opens from the right on desktop to keep the page visible. Slides up from the bottom on mobile for one-handed use.

Constraints

Always leave a way out

Provide a close button, a cancel action, and tap-to-dismiss on the backdrop, so users are never trapped.

Drawer guideline, translated from the Fubon library. Every component page follows the same three-part structure: scenario, behavior, constraint.

DELIVERY

Make the system usable in everyday work

User-Friendly

Put guidance where designers use components

Designers requested guidance where they selected components. We placed usage explanations alongside the library, giving them access to the rules within their design workflow.

The documentation also used the Fubon design system itself.

Usage guidance now sits next to each component in the Figma library.

REFLECTION

Designing rules others can apply

Where it landed

I left before adoption could be measured, and a design system takes a year or two to surface in shipped product. What I can speak to is the handover: four businesses on one foundation, an explicit rule for where they may diverge, and a process for keeping it alive.

When I left, the library and its Figma guidelines were largely complete, and the documentation website was nearing launch. Adoption hadn't been measured yet.

What I learned

A component is only as consistent as its rules. Designers across four businesses would never sit in our reviews, so every name and guideline had to make sense without us there. That's why I pushed for intent-based names and written behavior rules.

Interviews also showed me that one system serves several roles. Feedback files surfaced what designers wanted; talking to engineers and PMs showed where the system broke down for them.

What I'd do next

Track adoption from the start: which components teams detach, where they build their own versions, and which guidelines they search for most.

Let’s talk about your product.

Open to product design roles. The quickest way to reach me is email.

erwin0601@gmail.com

© 2026 Erwin Chen