Luca Mezzalira, perhaps the father of micro-frontends defines them as the technical representation of a business subdomain that allow independent implementations with the same or different technology. They are an excellent case for large companies that want to divide their frontend applications into subdomains, allowing them to be deployed independently. Micro-frontends can reduce complexity by simply composing them as EcmaScript Modules (ESM) using URL imports. This makes micro-frontend composition super easy, using JavaScripts native module system as the interface, with no need for complex frameworks or plugins. Astro, a meta-framework built on top of Vite and bundling to ESM, is a good choice for a Shell app in a micro-frontend architecture. It implements the Island Architecture, allowing the use of different frameworks on the same page. To share dependencies across applications, Import maps can be used to fetch and align them from a CDN like esm.sh, with dependencies fetched once on the first page load and cached in the browser. External dependencies like react and react-dom need to be set in each apps build time and can easily be achieved in a Vite config.