From UI Kit to Design System

Building foundations before scalability lessons learned from Bestmile

Insights

Feb 18, 2021

Blog Cover Image

UI Kit vs Design System clarification

Before sharing my experience, let’s clarify a common confusion: a UI Kit is not a Design System.

A UI Kit is a collection of reusable visual components, buttons, inputs, icons, colors, typography styles.
It helps designers ship consistent interfaces faster.

It’s a production tool.

A Design System, on the other hand, is product infrastructure.
It includes:

  • components

  • UX principles

  • documented usage rules

  • design tokens

  • code implementation

  • governance

  • structured alignment between design and engineering

👉 A UI Kit helps you design faster.
👉 A Design System helps a product scale sustainably.

And that transition, I lived it from the inside.

Context

In early 2018, Bestmile started a major platform rebuild.

A new frontend team formed with Manuel Hitz and Jean-Baptiste Cochery, led on the product/engineering side by David Geretti.

A new Operator Dashboard replaced the legacy Fleet Management Tool.

When I joined almost a year later, this was still before the acquisition by ZF.
The product was being rebuilt.
Scalability was on the horizon.
But there was no unified UX vision yet, and no structured Design System.

I joined in January 2019 as the first and solo UX/UI designer.

Everything still had to be defined.

Blog Content Image - 1

I intentionally started with a UI Kit

Before talking about Design Systems, let’s be honest:
I started with a UI Kit.

Why?

Because we needed to ship fast.

The product was moving quickly.
The frontend team was rebuilding the platform.
We needed immediate visual consistency.

So in Sketch, I structured:

  • a color palette

  • typography

  • base components

  • recurring patterns

This UI Kit allowed us to:

  • align screens

  • speed up delivery

  • reduce visual inconsistencies

But very quickly, its limitations appeared.

The real problem wasn’t visual

The interfaces looked consistent.

But the system was fragile.

The same component could:

  • be implemented differently

  • evolve without global updates

  • diverge between web and mobile

The debt wasn’t graphical.

It was systemic.

And in a platform used daily by operational teams, consistency is a performance lever.

Blog Content Image - 2

From UI Kit to Design System

Starting from the Sketch UI Kit, I progressively built steps by steps a Design System.

UX first

Before structuring any Design System, I stepped back and looked at the product as it actually existed.

I began by reviewing our main operational screens — the ones used daily by teams — to understand:

  • which components appeared most often

  • which patterns were critical to user workflows

  • what truly needed to be standardized

  • and what could remain more flexible

Rather than designing an “ideal” component library, I started from real usage.

Concretely, I identified the essential building blocks:

  • buttons (with a clear hierarchy of actions)

  • search fields

  • data tables (at the core of the product)

  • maps (which I personally designed and integrated around Mapbox)

  • timelines to visualize traveler and driver journeys

  • empty, loading, and error states

  • navigation patterns

These components weren’t chosen because they’re “standard”.

They were chosen because they represented the actual work of our users.

User flows shaped the system.
Real usage defined the components.

Not the other way around.

Only after this UX reading of the product did I start structuring:

  • foundations

  • components

  • then patterns.

Documentation with InVision DSM

To move beyond Sketch, I documented the system in InVision Design System Manager (DSM).

At the time, Sketch didn’t yet offer collaborative prototyping or centralized commenting.
We were exporting Sketch screens into InVision to:

  • create interactive prototypes

  • collect feedback

  • share designs with stakeholders

Naturally, we also chose InVision DSM to:

  • centralize guidelines

  • document components

  • structure usage

  • connect design and implementation

This marked a real shift:

from design living locally in Sketch
→ to design as shared, documented infrastructure.

With today’s perspective, if I had to choose again, I’d probably go with Zeroheight.
InVision has since declined, and Zeroheight feels more robust and future-proof for Design System documentation.

But at that moment, DSM fit our stack and our maturity.

Blog Content Image - 3

Frontend is not a relay, it’s a partner

Even as a solo designer, the Design System was never “my” project.

It was co-built with frontend.

Together we worked on:

  • UX intent ↔ component APIs

  • edge cases

  • web/mobile consistency

  • behavioral documentation

  • continuous Sketch ↔ code iteration

Design fed the code.
Code fed the design.

That collaboration made the system real and usable.

Before ZF: laying the foundations

All this happened before the ZF acquisition.

At that stage, the Design System wasn’t a strategic program.

It was a pragmatic necessity.

But those foundations later enabled:

  • scalability

  • smoother onboarding

  • stronger product coherence

  • organizational maturity

A Design System becomes strategic in hindsight.

At first, it simply answers a real need.

Does every company or product need a Design System?

Short answer: no.

A Design System makes sense when:

  • Multiple teams collaborate

  • The product is multi-platform

  • UX debt slows delivery

  • consistency becomes critical

It becomes counterproductive when:

  • The team is very small

  • The product is still exploratory

  • There’s no capacity to maintain it

  • It’s created because “everyone has one.”

In many cases, a well-structured UI Kit is enough.

What this experience taught me

  • Starting with a UI Kit is pragmatic

  • Evolving into a Design System is strategic

  • UX comes before components

  • documentation is design

  • Frontend collaboration is essential

  • Consistency is a user feature

A Design System is not a deliverable.
It’s living infrastructure.

And tomorrow, what role will AI play in Design Systems?

One last, more open question.

As AI already reshapes how we design, prototype, and code…

What will Design Systems become?

  • dynamically generated components?

  • adaptive tokens based on user context?

  • data-driven guidelines?

  • automatically personalized experiences?

Maybe Design Systems will evolve into less rigid, more intelligent ecosystems — continuously adapting to usage.

One thing feels certain:

Design Systems will move from static libraries to intelligent ecosystems.

And in that future, the designer’s role becomes even more strategic.

Because while AI accelerates execution, it doesn’t replace:

  • product sense

  • user empathy

  • systemic thinking

  • or human judgment.

I’d love to exchange on these topics — Design Systems, UX, design + engineering collaboration, and AI’s impact on our craft.

Looking forward to the conversation. 🤍

From UI Kit to Design System

Building foundations before scalability lessons learned from Bestmile

Insights

Feb 18, 2021

Blog Cover Image

UI Kit vs Design System clarification

Before sharing my experience, let’s clarify a common confusion: a UI Kit is not a Design System.

A UI Kit is a collection of reusable visual components, buttons, inputs, icons, colors, typography styles.
It helps designers ship consistent interfaces faster.

It’s a production tool.

A Design System, on the other hand, is product infrastructure.
It includes:

  • components

  • UX principles

  • documented usage rules

  • design tokens

  • code implementation

  • governance

  • structured alignment between design and engineering

👉 A UI Kit helps you design faster.
👉 A Design System helps a product scale sustainably.

And that transition, I lived it from the inside.

Context

In early 2018, Bestmile started a major platform rebuild.

A new frontend team formed with Manuel Hitz and Jean-Baptiste Cochery, led on the product/engineering side by David Geretti.

A new Operator Dashboard replaced the legacy Fleet Management Tool.

When I joined almost a year later, this was still before the acquisition by ZF.
The product was being rebuilt.
Scalability was on the horizon.
But there was no unified UX vision yet, and no structured Design System.

I joined in January 2019 as the first and solo UX/UI designer.

Everything still had to be defined.

Blog Content Image - 1

I intentionally started with a UI Kit

Before talking about Design Systems, let’s be honest:
I started with a UI Kit.

Why?

Because we needed to ship fast.

The product was moving quickly.
The frontend team was rebuilding the platform.
We needed immediate visual consistency.

So in Sketch, I structured:

  • a color palette

  • typography

  • base components

  • recurring patterns

This UI Kit allowed us to:

  • align screens

  • speed up delivery

  • reduce visual inconsistencies

But very quickly, its limitations appeared.

The real problem wasn’t visual

The interfaces looked consistent.

But the system was fragile.

The same component could:

  • be implemented differently

  • evolve without global updates

  • diverge between web and mobile

The debt wasn’t graphical.

It was systemic.

And in a platform used daily by operational teams, consistency is a performance lever.

Blog Content Image - 2

From UI Kit to Design System

Starting from the Sketch UI Kit, I progressively built steps by steps a Design System.

UX first

Before structuring any Design System, I stepped back and looked at the product as it actually existed.

I began by reviewing our main operational screens — the ones used daily by teams — to understand:

  • which components appeared most often

  • which patterns were critical to user workflows

  • what truly needed to be standardized

  • and what could remain more flexible

Rather than designing an “ideal” component library, I started from real usage.

Concretely, I identified the essential building blocks:

  • buttons (with a clear hierarchy of actions)

  • search fields

  • data tables (at the core of the product)

  • maps (which I personally designed and integrated around Mapbox)

  • timelines to visualize traveler and driver journeys

  • empty, loading, and error states

  • navigation patterns

These components weren’t chosen because they’re “standard”.

They were chosen because they represented the actual work of our users.

User flows shaped the system.
Real usage defined the components.

Not the other way around.

Only after this UX reading of the product did I start structuring:

  • foundations

  • components

  • then patterns.

Documentation with InVision DSM

To move beyond Sketch, I documented the system in InVision Design System Manager (DSM).

At the time, Sketch didn’t yet offer collaborative prototyping or centralized commenting.
We were exporting Sketch screens into InVision to:

  • create interactive prototypes

  • collect feedback

  • share designs with stakeholders

Naturally, we also chose InVision DSM to:

  • centralize guidelines

  • document components

  • structure usage

  • connect design and implementation

This marked a real shift:

from design living locally in Sketch
→ to design as shared, documented infrastructure.

With today’s perspective, if I had to choose again, I’d probably go with Zeroheight.
InVision has since declined, and Zeroheight feels more robust and future-proof for Design System documentation.

But at that moment, DSM fit our stack and our maturity.

Blog Content Image - 3

Frontend is not a relay, it’s a partner

Even as a solo designer, the Design System was never “my” project.

It was co-built with frontend.

Together we worked on:

  • UX intent ↔ component APIs

  • edge cases

  • web/mobile consistency

  • behavioral documentation

  • continuous Sketch ↔ code iteration

Design fed the code.
Code fed the design.

That collaboration made the system real and usable.

Before ZF: laying the foundations

All this happened before the ZF acquisition.

At that stage, the Design System wasn’t a strategic program.

It was a pragmatic necessity.

But those foundations later enabled:

  • scalability

  • smoother onboarding

  • stronger product coherence

  • organizational maturity

A Design System becomes strategic in hindsight.

At first, it simply answers a real need.

Does every company or product need a Design System?

Short answer: no.

A Design System makes sense when:

  • Multiple teams collaborate

  • The product is multi-platform

  • UX debt slows delivery

  • consistency becomes critical

It becomes counterproductive when:

  • The team is very small

  • The product is still exploratory

  • There’s no capacity to maintain it

  • It’s created because “everyone has one.”

In many cases, a well-structured UI Kit is enough.

What this experience taught me

  • Starting with a UI Kit is pragmatic

  • Evolving into a Design System is strategic

  • UX comes before components

  • documentation is design

  • Frontend collaboration is essential

  • Consistency is a user feature

A Design System is not a deliverable.
It’s living infrastructure.

And tomorrow, what role will AI play in Design Systems?

One last, more open question.

As AI already reshapes how we design, prototype, and code…

What will Design Systems become?

  • dynamically generated components?

  • adaptive tokens based on user context?

  • data-driven guidelines?

  • automatically personalized experiences?

Maybe Design Systems will evolve into less rigid, more intelligent ecosystems — continuously adapting to usage.

One thing feels certain:

Design Systems will move from static libraries to intelligent ecosystems.

And in that future, the designer’s role becomes even more strategic.

Because while AI accelerates execution, it doesn’t replace:

  • product sense

  • user empathy

  • systemic thinking

  • or human judgment.

I’d love to exchange on these topics — Design Systems, UX, design + engineering collaboration, and AI’s impact on our craft.

Looking forward to the conversation. 🤍

From UI Kit to Design System

Building foundations before scalability lessons learned from Bestmile

Insights

Feb 18, 2021

Blog Cover Image

UI Kit vs Design System clarification

Before sharing my experience, let’s clarify a common confusion: a UI Kit is not a Design System.

A UI Kit is a collection of reusable visual components, buttons, inputs, icons, colors, typography styles.
It helps designers ship consistent interfaces faster.

It’s a production tool.

A Design System, on the other hand, is product infrastructure.
It includes:

  • components

  • UX principles

  • documented usage rules

  • design tokens

  • code implementation

  • governance

  • structured alignment between design and engineering

👉 A UI Kit helps you design faster.
👉 A Design System helps a product scale sustainably.

And that transition, I lived it from the inside.

Context

In early 2018, Bestmile started a major platform rebuild.

A new frontend team formed with Manuel Hitz and Jean-Baptiste Cochery, led on the product/engineering side by David Geretti.

A new Operator Dashboard replaced the legacy Fleet Management Tool.

When I joined almost a year later, this was still before the acquisition by ZF.
The product was being rebuilt.
Scalability was on the horizon.
But there was no unified UX vision yet, and no structured Design System.

I joined in January 2019 as the first and solo UX/UI designer.

Everything still had to be defined.

Blog Content Image - 1

I intentionally started with a UI Kit

Before talking about Design Systems, let’s be honest:
I started with a UI Kit.

Why?

Because we needed to ship fast.

The product was moving quickly.
The frontend team was rebuilding the platform.
We needed immediate visual consistency.

So in Sketch, I structured:

  • a color palette

  • typography

  • base components

  • recurring patterns

This UI Kit allowed us to:

  • align screens

  • speed up delivery

  • reduce visual inconsistencies

But very quickly, its limitations appeared.

The real problem wasn’t visual

The interfaces looked consistent.

But the system was fragile.

The same component could:

  • be implemented differently

  • evolve without global updates

  • diverge between web and mobile

The debt wasn’t graphical.

It was systemic.

And in a platform used daily by operational teams, consistency is a performance lever.

Blog Content Image - 2

From UI Kit to Design System

Starting from the Sketch UI Kit, I progressively built steps by steps a Design System.

UX first

Before structuring any Design System, I stepped back and looked at the product as it actually existed.

I began by reviewing our main operational screens — the ones used daily by teams — to understand:

  • which components appeared most often

  • which patterns were critical to user workflows

  • what truly needed to be standardized

  • and what could remain more flexible

Rather than designing an “ideal” component library, I started from real usage.

Concretely, I identified the essential building blocks:

  • buttons (with a clear hierarchy of actions)

  • search fields

  • data tables (at the core of the product)

  • maps (which I personally designed and integrated around Mapbox)

  • timelines to visualize traveler and driver journeys

  • empty, loading, and error states

  • navigation patterns

These components weren’t chosen because they’re “standard”.

They were chosen because they represented the actual work of our users.

User flows shaped the system.
Real usage defined the components.

Not the other way around.

Only after this UX reading of the product did I start structuring:

  • foundations

  • components

  • then patterns.

Documentation with InVision DSM

To move beyond Sketch, I documented the system in InVision Design System Manager (DSM).

At the time, Sketch didn’t yet offer collaborative prototyping or centralized commenting.
We were exporting Sketch screens into InVision to:

  • create interactive prototypes

  • collect feedback

  • share designs with stakeholders

Naturally, we also chose InVision DSM to:

  • centralize guidelines

  • document components

  • structure usage

  • connect design and implementation

This marked a real shift:

from design living locally in Sketch
→ to design as shared, documented infrastructure.

With today’s perspective, if I had to choose again, I’d probably go with Zeroheight.
InVision has since declined, and Zeroheight feels more robust and future-proof for Design System documentation.

But at that moment, DSM fit our stack and our maturity.

Blog Content Image - 3

Frontend is not a relay, it’s a partner

Even as a solo designer, the Design System was never “my” project.

It was co-built with frontend.

Together we worked on:

  • UX intent ↔ component APIs

  • edge cases

  • web/mobile consistency

  • behavioral documentation

  • continuous Sketch ↔ code iteration

Design fed the code.
Code fed the design.

That collaboration made the system real and usable.

Before ZF: laying the foundations

All this happened before the ZF acquisition.

At that stage, the Design System wasn’t a strategic program.

It was a pragmatic necessity.

But those foundations later enabled:

  • scalability

  • smoother onboarding

  • stronger product coherence

  • organizational maturity

A Design System becomes strategic in hindsight.

At first, it simply answers a real need.

Does every company or product need a Design System?

Short answer: no.

A Design System makes sense when:

  • Multiple teams collaborate

  • The product is multi-platform

  • UX debt slows delivery

  • consistency becomes critical

It becomes counterproductive when:

  • The team is very small

  • The product is still exploratory

  • There’s no capacity to maintain it

  • It’s created because “everyone has one.”

In many cases, a well-structured UI Kit is enough.

What this experience taught me

  • Starting with a UI Kit is pragmatic

  • Evolving into a Design System is strategic

  • UX comes before components

  • documentation is design

  • Frontend collaboration is essential

  • Consistency is a user feature

A Design System is not a deliverable.
It’s living infrastructure.

And tomorrow, what role will AI play in Design Systems?

One last, more open question.

As AI already reshapes how we design, prototype, and code…

What will Design Systems become?

  • dynamically generated components?

  • adaptive tokens based on user context?

  • data-driven guidelines?

  • automatically personalized experiences?

Maybe Design Systems will evolve into less rigid, more intelligent ecosystems — continuously adapting to usage.

One thing feels certain:

Design Systems will move from static libraries to intelligent ecosystems.

And in that future, the designer’s role becomes even more strategic.

Because while AI accelerates execution, it doesn’t replace:

  • product sense

  • user empathy

  • systemic thinking

  • or human judgment.

I’d love to exchange on these topics — Design Systems, UX, design + engineering collaboration, and AI’s impact on our craft.

Looking forward to the conversation. 🤍