The most-requested feature for Lighthouse is a browser extension to add articles to the library. Lighthouse has always been a monorepo to share code between the NextJs application and a couple of Lambda functions. Since there was only one application that used UI components, they were always part of the NextJs codebase. To avoid code duplication with the browser extension, the UI components had to move to a separate package.
The fastest and easiest way would be to copy the Tailwind config and the components the extension requires and call it a day. But as developers we know, if it serves the same purpose, duplicating code is a sin.
Until now there was a web app, and with adding the browser extension there will now be an additional web-extension app and ui-base package.
Everything that can be shared between client applications should live in the ui-base package. This includes the Tailwind config, UI components, and other shared code like API client.