Frameworks buy speed but rent lock‑in; web components flip the deal. Standards-based custom elements, shadow DOM, and HTML templates let you ship UI that survives React/Vue/Angular churn and drops into anything from legacy pages to greenfield apps. Encapsulation plus CSS variables gives design systems consistency without the cascade knife fight, and lazy-loading keeps Core Web Vitals happy.
My bias holds: small teams ship more when the UI layer is framework‑agnostic. Build the components once, let each app choose its stack, and keep the backend in something durable (modern Java + Quarkus works). Measure shipped components.