Why this migration is overdue
Create React App was officially deprecated in early 2025, and the React team's own documentation now points new projects at frameworks — Next.js first among them. That matters practically, not just politically: react-scripts pins old webpack and Babel versions, new React features land framework-first, and every security advisory in CRA's frozen dependency tree is now yours to patch around. Staying on CRA means maintaining a build system its own authors have abandoned.
What you gain beyond survival: server rendering for pages that need SEO, file-based routing that removes a layer of configuration, image and font optimization built in, and API routes that eliminate the separate Express server many CRA apps carry just to hide an API key. This portfolio runs on Next.js App Router with a few hundred statically generated pages — the pSEO architecture it uses simply isn't buildable on CRA, where every page is an empty div until JavaScript loads. If organic search matters to your app at all, that last point is the whole argument.