I recently rebuilt my personal portfolio website using NextJS and it - was - awesome.
My site was originally just a standard React App but I wanted to practice with NextJS as well as polish up my site so this was the logical solution.
What I found right off the bat when creating a new NextJS App was that the boiler plate had everything I really needed bar a components folder. Most existing files had example code in it which made it very easy to see what each file's job was and really sped up the process of getting the basic structor laid out.
I was still very new to the world of React and more so to NextJS but it felt very intuitive and less clunky especially when it came to routing.
Once you know how react-router-dom works it's fine to use but with NextJS having routing set up right out of the box is fantastic.
As I've continued learning and done more in-depth and more complicated projects with NextJS I realise that my file and folder structure for the portfolio could have been split up better and my components could have been slip up more again and made smaller.
When it came to exporting and hosting the site things because a bit tricky. Where my current site (the one I wanted to replace) was hosted need a different level of hosting service to host a NextJS App. It was fine with React and I'm sure there's some work around I can write into an .htaccess file but for the time being I just hosted the site on Vercel (which was a very easy process) and set up a redirect to point to the new site.
This is something I will come back to when I have time and get the domain and hosting set up properly but for now, with the redirects, it serves it's purpose.