A Front-End Library Built Around Modern CSS and Web Components
KelpUI is a new front-end library from Chris Ferdinandi, designed around the capabilities of modern CSS and Web Components. Ferdinandi has been documenting the project's development in a series of articles, offering a detailed look at the design decisions shaping the library.
Guiding Principles
Ferdinandi laid out the core philosophy for the project earlier this year. The goal is a system that includes:
- Base styles for all common HTML elements.
- A wide range of utility classes for tweaking and adjusting styles.
- Group classes for building complex UI elements without requiring dozens of individual classes.
- Easy customization through CSS variables.
- Web Components for adding interactivity to functional HTML progressively.
- All Web Component markup in the light DOM to keep styling and reasoning straightforward.
The system is designed to be flexible in how it is adopted: it can be loaded via CDN, downloaded locally, or imported into a custom build.
Cascade Layers and Low Specificity
So far, the implementation reflects these stated goals. The CSS cascade is used openly and is organized logically with Cascade Layers. The library includes a substantial set of utility classes, with deliberate attention paid to their naming scheme. Selectors are kept simple, and specificity is kept low where possible.
Layout systems are flexible yet built around sensible constraints. Color palettes are designed with accessibility in mind and use a semantic naming system. Even the licensing approach has received consideration, via the Kelp Commons License.
Still Evolving
KelpUI is not finished, and that is part of what makes it interesting to track. Ferdinandi continues to publish his reasoning openly, including recent discussions about how he optimizes the library's structure, highlighting the trade-offs between performance and developer experience. These ongoing decisions provide insight into building a library with a clear, consistent design philosophy.



