A frontend that works today is a low bar. The interesting question is whether the same codebase will still be workable three years from now — with different people, different libraries, and a different product direction. My work in frontend architecture is primarily aimed at that medium term.
Concretely I've worked on large SPAs in virtually every Angular version from AngularJS through Angular 18, and also in Vue.js 3 with TypeScript. For me no framework is sacred; they're means to deliver structured craft. I am strict, however, about separation of concerns, shared building blocks, and a testable layer between UI and business logic.
Specifically with micro-frontends I've gained deep experience on the estate portal, where Angular 16 and AngularJS coexist for years inside one application. Routing, sessions, styling, and state must integrate seamlessly without the user ever noticing which 'part' they're using. Done well it's an invisible solution; done poorly it becomes a second legacy system on top of the first.
In the online casino portal and the social gaming platform I learned what SPA architecture means at real scale: continuously talking live to payment and gaming providers with a UI that has to feel as close to a native app as possible. In the CRM/ERP for serial-numbered production files and in the repair portal, the challenge sat in real-time signaling to Angular via websockets. In the 3D configurator the combination of Angular with WebGL forced me to think scenegraph-style inside a framework that wasn't built for it.
Components, state management, and testability are the tools I've learned to treat as one system across all these projects. A component that only works in its own context is brittle; a component that can be tested, reused, and swapped on its own is worth far more than its few lines of code suggest.
I also strongly believe in design systems as a tool to achieve consistency and speed simultaneously. Not as a library living somewhere on its own, but as part of the development process itself — close to the product designers and with explicit contributions from every team using it.