Spring GDS 25th Anniversary
A logistics company that ships to 190 countries built something to ship to itself.
Web Components are a set of native browser standards for building reusable custom HTML elements. No framework required. You define an element like <user-card>, give it its own behavior and styling, and use it anywhere HTML runs. Three technologies make it work: Custom Elements for defining the tag, Shadow DOM for encapsulating styles and markup so they do not leak in or out, and HTML templates for reusable chunks of markup.
The point that sets them apart is that they are part of the platform, not a library you install. A button built as a Web Component works in React, Vue, Angular, or plain HTML, and it keeps working when the framework of the year changes. That makes them a strong fit for design systems shared across teams and tech stacks. A large company with a React app, a legacy jQuery admin panel, and a marketing site on a CMS can build one set of branded components and use the same buttons and inputs across all three. The trade is that the raw APIs are lower-level than a modern framework, so most teams use a thin library like Lit to make authoring pleasant.
They are not a replacement for React or Angular. Web Components handle individual UI elements; frameworks handle application structure, state, and data flow. The two work together more often than they compete.
We use Web Components when a client needs UI that has to live across multiple stacks and outlast any single framework. Design systems are the clearest case. Build the component once against the platform, ship it everywhere, and the brand stays consistent whether a page is rendered by React today or something else in three years.
That portability is also a hedge against lock-in, which matters in long-running web development work where the framework will change before the brand does. We pair Web Components with the right tooling so they are pleasant to build and maintain, and we are clear with clients about where they fit and where a full framework is the better answer.
Building a design system that has to work everywhere? Let's build it.
A logistics company that ships to 190 countries built something to ship to itself.
Turning a brand into a working business.
Half a million people. One app. Zero chaos.















