For the first three years, we picked a framework per project based on what felt right at the time. That flexibility had a cost: every new engineer joining a project spent their first week relearning conventions instead of shipping.
Standardizing on Next.js gave us a shared component library, a shared testing setup, and a shared deployment pipeline across every client engagement. New team members can now contribute to any project in their first week.
It also made hiring simpler. We look for strong TypeScript and React fundamentals rather than a specific framework history, which widened our candidate pool without lowering our bar.