A monorepo with feature packages, enforced module boundaries and build caching
A monorepo with feature packages, enforced module boundaries and build caching is the right choice. Cached, affected-only builds (rebuilding only what changed) fix the speed problem. Module boundaries fix ownership. "Runtime micro-frontends with Module Federation" is the tempting wrong answer. Micro-frontends solve the coordination problem between many teams. One team does not have that problem, so their runtime and operational costs buy nothing.
Read more