From React to Next
I have been putting off refactoring a project to my current tech stack—and it finally caught up with me.

🔄 From React to Next
Excerpt:
I have been putting off refactoring a project to my current tech stack—and it finally caught up with me.
🚀 The Starting Point: Vite + React
When I first created this project, I went with Vite and React. It was fast, it was fun, and it gave me my first real taste of building something that wasn’t just local.
Along the way, I:
- Stepped away from the classic MERN stack.
- Learned to self-host in Docker.
- Ran my first Cloudflare Tunnel.
- Actually served a site to the world.
All wins. 🙌
🍝 When Code Turns to “Mom’s Spaghetti”
As I kept learning, I made updates to the project. But the more I hacked things in, the more my code started to look like mom’s spaghetti—tangled, messy, and kind of all over the place.
I also realized I was carrying around a lot of dead code—ideas I originally pitched to win the project that the client never asked for (and honestly didn’t need). Instead of making the site better, that bloat just made it harder to maintain.
⏩ The Shift to Next.js
Eventually, I had to face it: my stack had evolved, and my projects needed to evolve too.
I’ve been working with Next.js, and I don’t think I’m looking back—at least not anytime soon.
The refactor wasn’t as painful as I feared. In fact, once I stripped out the unused pieces and rebuilt what the project actually needed, things became clearer.
Now, the project:
- Meets the client’s needs without unnecessary weight.
- Has a clearer path forward for improvements.
- Aligns with both the client’s goals and my own learning goals.
🤔 What Did I Learn?
That’s a good question.
Maybe it’s that you shouldn’t put off refactoring when your stack moves forward. Or maybe it’s that less code (especially unused code) is often better than more.
Either way, I feel lighter, the project is cleaner, and I’m more confident about building on top of it going forward.
What do you think—what’s the biggest lesson here?
Onward with Next.js. 🚀