Chapter 1: Why I’m Building Cloak UI — The Pain of UI Vendor Lock-In


Welcome to the first chapter of my 10-Part Series — Building a Design System Agnostic UI Library 🚀. This series will document every step of the journey—from Architecture decisions to real coding challenges & fails🌐🛠️
# Chapter 1 - Topics
What is Cloak UI ? 🐳
How Cloak UI different from other libraries ?
My Real World Struggles with UI Library.📦
The Real Problem: UI Vendor Lock-In 💻
How Cloak UI Solves This Problem ? 🖼️
Why This Matters for Frontend Developers & Teams 📦🚀
What’s Next?
1. What is Cloak UI !
Cloak UI is an open-source library that helps frontend developers build UI components without being locked into a specific design system or library. Whether you're using Radix, shadcn/ui, Hero UI, or even custom components, Cloak UI provides a layer of abstraction that makes switching design systems as easy as changing a config.
2. How Cloak UI different from other libraries ?
Most UI libraries are tied to their own component APIs, props, and theming systems. Once you pick a library, you are stuck with its way of doing things. Cloak UI is different. It acts as a wrapper that sits on top of other libraries, giving you a single, consistent API to work with, no matter which design system you choose underneath.
3. My Real World Struggles with UI Library.📦
In one of my past projects, we started with Chakra UI. Midway through, the design team decided to switch to shadcn for better flexibility. This switch turned into a nightmare. Every button, modal, and form component had to be refactored because their props and structures were completely different. It wasted weeks of development time.
Another scenario — a new startup might want to quickly build and launch their website using prebuilt components to ship the product fast. But after some time, they may want to switch to their own design system for brand consistency and scalability. In such cases, having a design-system-agnostic UI library would make the transition much smoother and far less time-consuming.
4. The Real Problem: UI Vendor Lock-In 💻
This is called UI Vendor Lock-In. Once you build your frontend using a specific UI library, switching later becomes painful. Different libraries have different component APIs, prop types, and theme systems. This forces teams to stick with a vendor even when a better option comes along.
5. How Cloak UI Solves This Problem ? 🖼️
Cloak UI solves this by introducing an Adapter Layer that normalizes props and abstracts the differences. You write your code once using Cloak's API, and under the hood, it connects to the actual UI library you've chosen. Switching design systems is just a matter of changing the adapter configuration, not rewriting components.
6. Why This Matters for Frontend Developers & Teams 📦🚀
For developers, Cloak UI removes the frustration of learning new prop structures when switching libraries. For teams, it reduces the cost of vendor lock-in, speeds up design system migrations, and allows more flexibility in choosing the right tool for the job.
7. What’s Next?
In the next chapter, we'll dive into the frontend architecture principles that make Cloak UI design-system-agnostic. We'll explore concepts like Abstraction Layers, Prop Normalization, and Escape Hatches.
Stay tuned!
Subscribe to my newsletter
Read articles from Shagun Sharma directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Shagun Sharma
Shagun Sharma
I am Shagun Sharma, an SDE-2 currently working at Loti Ai, based in Seattle, USA. I have over 2 years of experience in designing user-friendly UIs and scaling backends to handle millions of users per month. I have worked on managing 3-5 full-stack projects, including DevOps, at the same time. Currently, I am working on providing scalable solutions to scrape 20-40 million data points per day from various platforms. I am also preparing for the AWS CCP certification. My goal for the next year is to upskill and expand my knowledge in different web and app development technologies.