Upskills Community
Upskills
upskills.dev
Join our community on Discord to get help about the tutorials and ask your questions.
@upskillsdev
Checkout our GitHub to find the source code and submit any issues or feature requests.
Chapter 2: Modern Front-End Development with React
This is Part 2 of the Modern Front-End Development series. Before picking a framework, you need to pick the right architecture for your situation.
I'll walk through how to match architecture decisions to your product goals, give you a practical decision framework for choosing the right tool for the right job.
Prerequisites
Architecture is how you arrange the pieces for your constraints.
Tutorial Content
6 sections • approximately 45 minutes
In these modern days, AI tools can pick your entire tech stack in a single prompt. That's convenient, but it's also a trap. The fastest answer isn't the same as the right answer for what you're building.
And AI isn't the only one doing this. The community has been running the same playbook for years: a new framework launches, blog posts flood the internet, and suddenly it becomes the "obvious" choice. Then the next thing comes along and the cycle resets. It's just hard for new developers to find what actually is right for what they're building.
Too many good options. Not enough clarity on which one fits.
The Paradox of Too Many Good Options
The React ecosystem in 2025 has more high-quality tools than ever. That's great. It also means that picking a stack for a new project feels like this:
Five different constraints. Five different answers. And every one of those answers is probably correct for some project. The problem isn't that developers lack good options. The problem is that most advice ignores context entirely.
Why AI Usually Says "Use Next.js"
AI coding assistants have become a major source of architectural advice. You open ChatGPT, Claude, or Copilot and say "help me build a React app for [your use case]" without providing enough context, the default suggestion is usually Next.js.
That's not because Next.js is the universally correct choice. It's because of how these models are trained. The internet has a lot of tutorials, blog posts, Stack Overflow answers, and GitHub repos about Next.js, and when a model learns that "most recommendations point to X," it will recommend it. But most recommended and best fit for your situation are not the same thing.
Stop Reading the Comments
The JavaScript ecosystem has been arguing with itself for over a decade. jQuery vs Backbone. Angular vs React vs Vue. Webpack vs Vite. Next.js vs Remix. Server Components vs SPAs. The names change every couple of years, but it's just the same kind of fight.
Following these fights doesn't make you a better developer. You scroll through a 200-comment thread where most people are defending what they already use, and walk away less confident about a decision you were fine with an hour ago.
Building an internal B2B dashboard behind auth for 50 users. Thinking of just making a SPA with our existing REST API. Is that still a good choice?
What actually helps is learning to evaluate. When a new framework or pattern shows up, try to ask: What problem does this solve? Does my project have that problem? What do I give up by adopting it? If the answers don't point to a clear win for your users, move on. The tech will still be there if your needs change later.
Interview Lab
I'm currently building Interview Lab, an AI-powered tool to help you prepare for your next Frontend Engineer interview. It's in early beta, and I'd love your feedback!
Share this tutorial
About the author
NAB, Software Engineer
Hi, I'm Vu, a Software Engineer at NAB (National Australia Bank) with a love for creating web and mobile apps that don't just look cool but feel great to use. I've had the chance to work with some awesome companies over the years, picking up new tricks and tackling many kinds of challenges along the way.
Now, I'm thrilled to share what I've learned and help others through fun, interactive coding tutorials!