A brand-agnostic, fully customisable front-end component library I built as a Bootstrap replacement, designed to be adopted, themed, and extended across any project without being tied to someone else's assumptions.
Every project I worked on used Bootstrap as a starting point. It solved layout and component problems quickly, but it introduced a different set of problems: opinionated styles that were hard to override, unused code that couldn't easily be stripped out, and a naming system that didn't match how the projects were actually structured.
The deeper issue was that Bootstrap shaped how the products looked and felt, not the other way around. Customising it was slower than just building from scratch, and the output rarely felt truly branded.
Build exactly what you need. Nothing more, nothing less. Make it easy to customise, easier to understand, and impossible to get wrong.
Commons is a self-documenting SCSS component library - a structured, scalable foundation that can be dropped into any project, customised through variables, and extended without touching the core. It covers every component a product UI typically needs, with sensible defaults that are meant to be overridden.
It ships with a live documentation site that shows every component in context, with usage examples, so any developer picking it up can get productive immediately.
Buttons (primary, secondary, alternative, error, plain, edit, delete), form elements with animated focus states, panels, alerts, navigation, datepicker, tables, and banners.
Semantic colour variables across all UI states, mixins for transitions and flexbox helpers, SVG icon sprite, CSS reset, clearfix, utility classes, and print styles.
Live docs site with every component in context. Inline code examples, copy-to-clipboard for every snippet. BEM naming throughout — consistent, predictable, debuggable.
Commons predates the mainstream adoption of design systems thinking in most product teams. At the time, the common pattern was to start every project from Bootstrap and fight it into shape. Building a reusable, documented, brand-agnostic foundation was a systems instinct before it had a formal name.
The same thinking — defining standards once, applying them everywhere, making them easy to adopt and hard to break — is what drives the design systems work I do today at scale. Commons was where that thinking started.
The question I always asked was: will this be used constantly? If yes, it belongs in the common library.
Design principle behind Commons