MQ
QURASHI
Blog
MQ
MOHAMED QURASHI

© 2026 Mohamed Qurashi. All rights reserved.

Built with precisionDesigned for impactPowered by innovation
MQ
QURASHI
Blog
Back to Blog
Web Development

Understanding Why I Love Using Next.js

Mohamed Qurashi
April 8, 2026
7 min read
Understanding Why I Love Using Next.js

Share

TwitterFacebookLinkedIn

Tags

Next.jsE-commerce appsPerformance optimization

I've been using Next.js in production for over a year now. Here's the honest, unfiltered version.


---


Why This Matters (and Why I Care)


In my experience working with Next.js on various projects, especially at Beyin Digital where we tackle complex e-commerce applications, I’ve noticed that understanding and implementing its features correctly can make all the difference in the success of a project. It's not just about learning how to set up the framework; it’s also about knowing when and why to apply certain optimizations and features.


One of the key reasons Next.js is so popular is due to its flexibility, especially when compared to React’s default component-based architecture. The App Router allows for easier navigation between pages in a single file using URL parameters (e.g., /page/:id), which means you don’t need multiple files or components for different routes. This can significantly reduce the size of your application and improve performance.


However, like with any framework, there are situations where it might not be the best choice. For example, if you’re working on a smaller project where simplicity is key, you may prefer to stick with pure React components. But as soon as you need more complexity or larger applications, Next.js shines due to its well-thought-out architecture and ecosystem.


In my projects at Beyin Digital, we’ve found that using Next.js effectively has not only improved the speed of our applications but also reduced bugs and increased productivity. The ability to easily deploy code changes with a single command is especially handy for us, as it allows developers to focus on writing new features rather than maintaining old ones.


The Basics You Actually Need


Now that we've established why Next.js is such a valuable tool in production, let’s dive into the basics you actually need to know. We'll start with TypeScript and its integration within Next.js projects for added performance and reliability.


---


The Basics You Actually Need


1\. TypeScript Integration

TypeScript is the language that extends JavaScript with static typing features. It allows developers to catch errors early in development by catching type-related errors rather than runtime errors. This can save a lot of time, especially when dealing with complex applications where bugs often crop up.


In Next.js projects, integrating TypeScript means you have more control over your codebase and can avoid certain pitfalls that JavaScript alone doesn’t prevent. It’s also essential to note that TypeScript is fully compatible with React and works seamlessly within the ecosystem, making it a great choice for maintaining consistent coding standards across different teams or projects.


2\. The App Router

The App Router allows you to easily navigate between pages in a single file using URL parameters (e.g., /page/:id), which means you don’t need multiple files or components for different routes. This can significantly reduce the size of your application and improve performance.


3\. Server Components

Server Components allow you to separate logic from presentation, making it easier to manage complex applications with a lot of state management. They’re particularly useful in building server-side rendered (SSR) apps where you need to handle both client and server requests effectively.


4\. Supabase Integration

Supabase is a PostgreSQL database integrated into Next.js projects for better performance, scalability, and security. It offers real-time data sync capabilities that can significantly enhance the user experience by ensuring fast loading times and reduced downtime during updates.


---


How I Build With It (Step by Step)


Setting Up A Next.js Project with TypeScript

Firstly, you need to create a new project using `create-next-app`, which is a great starting point for your application. Then, install the TypeScript module:


npx create-next-app@latest --typescript


Next, configure ESLint and Prettier by installing them into your `package.json` file:


{

"scripts": {

...

"lint": "eslint .",

"format": "prettier --write \"**/*.{js,ts,jsx,tsx}\""

},

"devDependencies": {

"@types/node": "^18.14.26",

"eslint": "^7.35.0",

"eslint-config-next": "^15.1.1",

"eslint-plugin-import": "^2.24.1",

"eslint-plugin-jsx-augmentations": "^1.1.9",

"typescript": "~4.5.5",

"prettier": "^2.8.4"

},

...

}


Using Server Components

To get started with server components, first, ensure your project is set up as follows:


npx next dev


Next, create a new component file for example, `pages/api/user.js`:

import type { NextApiRequest, NextApiResponse } from 'next'


type User = {

id: number;

name: string;

}


export default async function handler(

req: NextApiRequest,

res: NextApiResponse<User>

) {


const user = await getUser(req.query.id as string);


return res.status(200).json(user)

}


Deploying with CI/CD

Next.js projects can easily be deployed using a cloud provider like AWS or Heroku. For example, here's how you set it up with AWS:


npx aws configure

# Add your credentials to the config file


aws configure --profile nextjs-app


aws s3 sync . s3://my-nextjs-project/


Mistakes I Made (So You Don’t Have To)

When I first started working with Next.js, there were a few mistakes that could have been avoided. For example:


  • **Not Properly Configuring TypeScript**: Failing to set up ESLint and Prettier led to errors in the codebase that weren't immediately apparent until it was too late.

  • **Lack of CI/CD Integration**: The first time I deployed, my application broke because I hadn’t configured continuous integration with a tool like GitHub Actions or Travis CI.

  • Advanced Tips From Production

    1. Always keep your Next.js versions up to date for the latest features and improvements.

    2. Use Supabase’s real-time capabilities effectively in your server components for dynamic updates without downtime.

    3. Prioritize code quality by using best practices such as ESLint, Prettier, and TypeScript.


    ---


    My Honest Take


    Over the years, I’ve learned that every project has its unique challenges, but with Next.js, you can build scalable, performant applications with ease. It’s not a silver bullet, but it definitely shines in complex projects where you need to handle multiple routes efficiently.


    While there are plenty of other tools out there, Next.js stands out for its flexibility and the community's support. The ecosystem is constantly evolving, which means there will always be something new and exciting around the corner.


    In conclusion, if I had my time again, I wouldn’t hesitate to recommend Next.js 15 to anyone building a web application. It’s not just about mastering one feature; it’s about understanding how these features can complement each other to create a robust framework that scales well.


    ---


    *Mohamed Qurashi | Full-Stack Developer at Beyin Digital | [https://qurashi.dev](https://qurashi.dev)*


    ---

    **Further reading:**

  • [Next.js 15: Routing in Your Applications](https://nextjs.org/docs/app/routing)
  • [Server Components: The Future of React?](https://css-tricks.com/something-sheared-then-styled/)

  • **Related articles on this blog:**

  • [next js best practices](/blog/next-js-best-practices)

  • Related Articles

    Next.js 15 Complete Guide: App Router & Server Components
    Web Development

    Next.js 15 Complete Guide: App Router & Server Components

    A practical, production-tested guide to Next.js 15 App Router and Server Components. Learn how to cut JavaScript bundles by 40% with real patterns from Beyin Digital.

    App vs Web in Next.js: Why I Finally Switched After 5 Years
    Web Development

    App vs Web in Next.js: Why I Finally Switched After 5 Years

    Discover the real differences between App Router and Pages Router in Next.js. Learn when to use each based on production experience from an SEO specialist in Dubai.