[Design System]

LINE Flex Message Component System

Managing component versioning and design-development alignment during a visual system overhaul.

Structuring Notification Components During a Design System Transition

[Context]

The team was undergoing a visual design overhaul led by a senior designer. I was responsible for reorganizing existing notification components in alignment with the updated design direction, while maintaining clarity between old and new component versions.

[Role]

Identified versioning gap

Restructured component system

Authored documentation

[Timeline]

Jun. 2025 – Jul. 2025

[Deliverables]

Figma component library

GitBook documentation

[Tools]

Figma

Gitbook

[Problem]

The team was in the middle of a significant visual design overhaul — a senior designer was leading the updated direction, and many components were being redesigned from scratch. In this context, I was asked to help organize the existing notification system.


As I worked through the files, a more fundamental issue emerged: old and new component styles were coexisting without clear version boundaries. There was no reliable way to tell which assets reflected the previous design direction and which had been updated — creating real risk that developers might implement the wrong version.


The existing workflow compounded this problem:

No component hierarchy existed — reusing a pattern required searching through undifferentiated files
No component hierarchy existed — reusing a pattern required searching through undifferentiated files
Notification assets were stored as individual code snippets and simulator screenshots in a shared folder, without consistent naming or versioning
Notification assets were stored as individual code snippets and simulator screenshots in a shared folder, without consistent naming or versioning
The external development team was already behind schedule, and the lack of clear documentation made handoffs slower and more error-prone
The external development team was already behind schedule, and the lack of clear documentation made handoffs slower and more error-prone

⠀The immediate task was to organize the notification components. The underlying problem was making sure the team — and any incoming developers — could clearly distinguish what belonged to the old system and what reflected the new direction.

[Before]

Old and new component styles coexisted in a shared folder without version labeling, consistent structure, or clear ownership. With an external development team already behind schedule, the absence of a versioning system created risk of implementing outdated designs.

[Solution]

I reorganized the notification system by establishing clear version boundaries and aligning the updated design components with their corresponding code implementation.

1. Component Standardization in Figma

Working from the senior designer's updated direction, I consolidated notification layouts into a structured component system built around five consistent zones:

  • Title — notification type and status label

  • Primary information — key details (time, date, event name)

  • Booking details — customer name, add-ons, assigned staff

  • Payment summary — total amount and payment method

  • Action button — primary CTA and secondary link

A three-tier spacing system (xs: 4px / md: 8px / lg: 16px) was defined and applied consistently across all components, ensuring visual coherence across notification types and making the new system visually distinguishable from the old one.

2. Mapping Design Components to Code

In GitBook, I documented each component module alongside its corresponding code structure. Each entry included:

  • Code snippets ready for implementation

  • Visual references generated from the LINE Flex Message simulator

  • Variations across different notification states and use cases

  1. Organizing by Use Case

Rather than listing components in isolation, I structured the documentation around the six core notification scenarios the product needed to support:

  1. Booking invitation — sent to customers awaiting confirmation

  2. New booking — triggered when a reservation is made

  3. Booking confirmed — full details after successful confirmation

  4. Payment notification — outstanding balance with payment options

  5. Pending checkout — unpaid sessions requiring follow-up

  6. Booking declined / cancelled — cancellation details and next steps

Each use case links to the relevant component combinations, helping both designers and developers understand how to apply the updated system — and which version to reference.

[After]

Notification components were reorganized into a versioned, scalable system with consistent structure, defined spacing, and reusable modules mapped to both Figma components and code.

System Flow

Before - Mixed old and new styles → no version labels → developer uncertainty → risk of implementing outdated designs

After - Figma component (new version) ↔ GitBook documentation ↔ Code implementation

Impact

The system was completed and handed off at a critical transition point — when a new contractor was onboarding to take over development. Many features were still pending implementation at the time of my departure, but the structured documentation provided a clear, versioned reference for the incoming team to work from.

  • Consolidated 6 notification use cases into a unified component system aligned with the updated design direction

  • Established clear version boundaries between old and new component styles, reducing the risk of implementing outdated designs

  • Defined a shared spacing standard (xs / md / lg) applied consistently across all layouts

  • Created a single source of truth linking Figma components to code — accessible to both designers and incoming developers

[Reflection]

This project started as a discrete organizational task and expanded into a versioning and handoff problem once I understood the broader context — a design system in transition, an external team behind schedule, and no clear boundary between old and new.


The most transferable learning was recognizing that in transition periods, documentation isn't just about organization — it's about risk reduction. Without clear version markers, teams default to using whatever is most familiar, which in a design overhaul often means the outdated version.


If I were to extend this work, the next step would be establishing a formal versioning protocol and deprecation process, so that as the new system matures, old components are explicitly retired rather than left to coexist indefinitely.

Select this text to see the highlight effect

Create a free website with Framer, the website builder loved by startups, designers and agencies.