Filip Rakowski

Building a component library for modern challenges

What if the best way to use a component library was to copy its source code? This talk challenges the NPM package model for a more flexible future.

Building a component library for modern challenges
#1about 5 minutes

The limits of prop-based component customization

While component libraries promise acceleration, they often rely on an overwhelming number of props for customization that still fall short of real-world needs.

#2about 4 minutes

The high cost of complex customization abstractions

To go beyond simple props, libraries introduce complex, proprietary abstractions like CSS-in-JS or variable systems that increase cognitive load and learning curves.

#3about 4 minutes

Why opinionated frameworks are not a universal solution

Opinionated UI libraries are not universally effective, as they are often too complex for small projects and not flexible enough for large, pixel-perfect enterprise applications.

#4about 5 minutes

The root problem is shipping upgradeable components

The core issue with UI libraries is the flawed assumption that components should be upgradeable packages, which necessitates fragile abstractions and leads to frequent breaking changes.

#5about 4 minutes

A new approach using copy-pasteable components

A better approach is to provide copy-pasteable components that developers own, which eliminates complex abstractions and provides unlimited customization.

#6about 3 minutes

Combining UI primitives and copy-paste for reusability

A hybrid model solves reusability by shipping granular base components as UI primitives from a package while keeping larger, composed components copy-pasteable.

#7about 2 minutes

Key takeaways for choosing a UI library

Choose libraries based on research for your specific job, not just popularity, and favor simple, less opinionated tools that are more versatile and less risky.

Related jobs
Jobs that call for the skills explored in this talk.

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.

Angular Developer

Angular Developer

Picnic Technologies B.V.
Amsterdam, Netherlands

Intermediate
Senior
RxJS
Angular
TypeScript
Lead Full-Stack Engineer

Lead Full-Stack Engineer

Hubert Burda Media
München, Germany

80-95K
Intermediate
Senior
React
Vue.js
Node.js
MongoDB
+1