Hi Rakia!
I think `@nrwl/nx` is EPIC solution in cases when we have more than one SPA and want to use monorepo.
One of the best features of NX is being able to tag libs and then enforce who can import what based on those tags which enables you to enforce one way dependency graph and clean architecture.
More so, if we take a step back, that NX pattern described just above is basically the same thing as lazy loaded features within single Angular SPA, it enforces isolation, one way dep graph and clean architecture.
So yeah depending on how many apps you're building NX can be the optimal solution ;)
Would not use NX for developing of single app though, or with MANY teams working on the same code base.