Current state of web development for some time now includes JS frameworks and libraries springing like mushrooms after the rain. Among these, Next.js has emerged as the most popular choice for any developer that wants to build a beautiful SEO-friendly website. However, as its popularity grows, I noticed Next.js websites are beginning to look eerily similar. In this article, we'll explore the reasons behind this and is this bad or maybe even a good thing.
What do I even mean?
First of, I got to point out, I love Next.js. It's my go to framework whenever I start a new web project, no other JS framework allows you to build something beautiful that quickly. But quickly is exactly the issue. If you want to build something quickly it's going to come with some trade offs. If you are working with Next.js, when starting a project you'll probably start with some boilerplate or a template, seems like industries are popping up around Next.js boilerplates nowadays. Next (.js), you'll probably use Tailwind CSS and some component library, most probably shadcn/ui. All of these solutions are great, but, as more developers gravitate towards these ready-made components, the individuality of websites diminishes, leading to a sea of sites that look and feel the same. Something like shadcn/ui is completely customizable, but if you want to finish a website quickly, you probably won't spent that much time on customization, if you are not working strictly by design.
I never really noticed this until I started spending more time on Twitter/X. If you open up Twitter/X right now, and start browsing any solopreneur/build in public/next.js thread, you will quickly notice a lot of developers asking for feedback on their websites, and they all look kind of Nextjsy.
The convenience of Next.js/Tailwind/shadcn combo is obvious. It offers a well-structured, easy, and cohesive design system that ensures visual and functional consistency across projects. However, this uniformity comes at the cost of originality.
This has happened before
What I noticed with Next.js is not something new, this has happened before with any popular language/framework/CMS. WordPress being one of the most popular. In the past I worked on a lot of WordPress websites, as the community around WordPress grow, certain WordPress themes and plugins become a default option for a lot of people, like Avada, Betheme and The7 with millions of sales in downloads. You install the theme, select one from many template dummy options, and in a couple of minutes you'll have a beautiful WordPress website...that looks like all the rest. Now I can identify a WordPress website as soon as the page is loaded, when that happens finally.
Similar situation happened with Bootstrap, as this toolkit became more and more popular, the websites that used it started looking more and more the same.
So who is the blame for this, the lazy developer?
I don't think anyone should be blamed for this, and I don't think this is even a bad thing, I think this is great! All these new technologies gave us more options, and having more options is always good. If you want to create something unique strictly following certain design patterns while investing more time, you can certainly do so. On the other side, if you are building a product that you want to get into the hands of users, so you can get feedback as soon as possible, Next.js component libraries with ready-made building blocks are a great choice. At the end of the day the user does not care, I noticed this pattern only because I look at websites every day. Once and if the product grows you can, and you certainly should invest more time in proper design so the website follows certain brand guidelines when it actually becomes a brand.
Conclusion
While Next.js, shadcn/ui, Tailwind CSS, and popular component libraries have undeniably transformed web development for the better, they have also contributed to a trend of sameness among websites, but they are not the first to do so. Speedy developments with AI probably will not help with this trend. But having more options is not a bad thing. Anybody working on a website has now the option to build something fast or to build something unique, it just depends in what stage of development you are and what you are trying to build.
If you enjoyed this post I'd love it if you could give me a follow on Twitter by clicking on the button below! :)
Top comments (0)