DEV Community

Cover image for The Ultimate Tech Stack for Your 2025 Projects
Ivan Ivanov
Ivan Ivanov

Posted on

The Ultimate Tech Stack for Your 2025 Projects

As the year comes to an end, I decided to list the tech stack I’ve been using to build my projects. This list covers everything from frontend to backend, databases, and cloud infrastructure.

While AI tools are great for boosting productivity, this post focuses on the foundational tech stack every developer can use to build and deploy a production-ready app from scratch. This tech stack is minimal yet extremely powerful, helping you and your team go from idea to MVP in just a few days while keeping costs low.

1. Node.js + Express.js - (Vratix)

Vratix website

A solid backend API is the foundation of a good project. Build a robust backend service early on, and you and your users will be happy for a long time.

However, setting up a new Node.js API can be daunting, especially when wrong decisions early on lead to massive technical debt. Setting up authentication and remembering how to handle JWTs and refresh tokens properly from your last project two years ago can also slow you down and introduce security vulnerabilities.

I use Vratix and their open-source modules to avoid all of that. The tool comes with a CLI that sets up a TypeScript Node.js project, follows the latest best practices, and lets you install their API modules super easily. I don't have to read Node.js setup guides anymore!

The tool is open-source and free to use.

Project link: Vratix

2. Next.js - (shadcn/ui)

shadcn/ui website

React has been my favorite for years when it comes to building beautiful web apps. I have recently started using Next.js, an open-source web development framework for building React-based web applications. It comes with many optimizations, such as Server Side Rendering (SSR), dynamic and static props, image optimization using next/image, and much more (especially when deployed on Vercel—more on this below).

Creating buttons, inputs, containers, and other basic UI components is time-consuming, and they are often the same across various projects. That’s why I use a component library called shadcn/ui, which offers a wide range of beautiful UI components you can integrate into most modern frontend frameworks.

Next.js and shadcn/ui are open-source and free to use. I highly recommend using them together to get a working web app in a few days and avoid setting up boring UI components.

Project links: shadcn/ui, Next.js

3. Database + Storage - (Supabase)

Supabase website

Next, we need to take care of storing user data and any files our app might use. To do this, I use Supabase, an open-source Firebase alternative based on PostgreSQL. You can have a fully working PostgreSQL database in minutes with just a few clicks. Supabase allows you to query using their Data API or connect directly to the database using a connection pool package like pg (if you use Vratix, this is already set up - you just need to add the correct connection string).

The coolest thing about Supabase is the ecosystem it provides for seamless integration with all of its other services. Because all of their tools are connected to your PostgreSQL database, you can get S3 bucket storage with Row Level Access with minimal setup. If you’ve ever tried to secure an S3 bucket and get AWS permissions right on the first try, you know the pain.

Supabase is open-source, but it also offers a managed solution with a great free tier.

Project link: Supabase

4. Deployments - (Vercel & AWS)

Vercel website

For deployments, I use Vercel for the frontend and AWS for the backend.

  • Vercel: Perfect for Next.js apps, with automatic deployments, global edge network, and free HTTPS. It offers loads of optimisations for your Next.js apps, caching, performance analytics. You can deploy a working web app in minutes without setting up SSL, static files, hosting etc.
  • AWS: For the backend, AWS offers great flexibility. I usually deploy my services as Docker containers on EC2, for more complex backend services I use Kubernetes (AWS EKS).

This combination gives you a fast frontend and a scalable backend without costing a lot.

Project links: Vercel, AWS

5. Serverless Functions - (AWS Lambda)

AWS Lambda website

This one is a bonus, as I know some of you might want to set up serverless functions to handle specific logic, e.g., webhook handlers or processing files and data.

I’ve looked at all the available options, including Vercel’s and Supabase’s Edge Functions. However, unless you need your functions to execute super close to your users, AWS Lambda will work just fine. AWS has significantly improved the developer experience for setting up new Lambda functions over the past few months.

Compared to the rest, AWS Lambda offers a very generous lifetime free tier.

Project link: AWS Lambda


Let me know if you’re planning to use any of these for your projects in the new year. I’ll keep looking for the best web dev tools out there and update this list as I find more. What challenges have you faced when using any of these?


Follow me on X for more of my daily thoughts on tech 😄

Top comments (16)

Collapse
 
chiroro_jr profile image
Dennis • Edited

My experience with NextJS has been terrible. I had only worked with React through React Router in the past. I recently started a project at work which uses NextJS and I have to say some stuff has been painful.

  • The dev server is slow. Coming from Vite to whatever NextJS is using is just painful.
  • Facing some open issues while developing. There's a specific one where redirecting does not work if there are different root layouts. We have a landing section, an auth section, and a dashboard section that all use different layout so they had to be grouped. When a user signs in and has to be redirected to the dashboard, it doesn't worker due to the different layouts. I had to return an object with a success boolean and redirect on the frontend using useRouter instead of the redirect function.
  • Endless Hydration errors that I sometimes don't even know where they are coming from.
  • Peer dependencies warnings and errors using npm because well NextJS is bleeding edge and uses React 19RC. But I guess that's no longer an issue since React 19 is out.

But some things are great.

  • Server actions make handling forms and form errors easier. I haven't had to use controlled forms so far. I probably will have to for better UX but so far I don't have the need.
  • Fetching data in RSCs is great. It simplifies things in a way.
  • The routing convention using the app router is great. I used SvelteKit a bit and I love how they have specific files that do specific things when it comes to routing. Due to this collocation is easier. Each route can be coupled with things that only it uses like entity definitions, types, services, and components.

The problem is, these benefits exist in all other similar frameworks e.g SvelteKit. But the problem is the downsides are listed are very specific to Next. I'm sure there are more.

Collapse
 
ivanivanovv profile image
Ivan Ivanov

Super detailed, thanks for sharing your experience. I haven't experienced the same issues as you yet, but have you tried reaching out to someone at Next.js/Vercel? They are usually quite responsive, especially on Twitter and the Vercel community.

Might be worth a shot. But yeah I agree that other frameworks offer similar benefits, I haven't tried them out yet. Maybe I will use the Christmas period to check them out!

Collapse
 
yasir_ansari_338faf85e760 profile image
Yasir Ansari

Here’s an interesting issue I ran into with route protection in Next.js,

If you use middleware to guard a route, users can still sneak back to the protected page using browser navigation.

On the other hand, relying solely on client-side protection can lead to some weird hydration issues.

I combined both middleware and client-side protection.

Not sure if it’s the perfect approach, but hey—it worked for me!

Collapse
 
ivanivanovv profile image
Ivan Ivanov

Nice, interesting approach tbh, I think it makes a lot of sense to protect from certain edge cases. Interested to see how others are dealing with route protection

Thread Thread
 
yasir_ansari_338faf85e760 profile image
Yasir Ansari

How you deal with it?
What’re the best coding practices to implement it?

Thread Thread
 
ivanivanovv profile image
Ivan Ivanov • Edited

I've been using middleware mainly. And also I always protect any backend endpoints by checking if the user has a valid JWT access token.

What do you mean by

users can still sneak back to the protected page using browser navigation

Collapse
 
eriadura profile image
SAMUEL ADENIJI

Thank you

Collapse
 
eriadura profile image
SAMUEL ADENIJI

Thank you

Collapse
 
brense profile image
Rense Bakker

To be fair a lot of these "issues" are because rendering React to static pages introduces some new things that the developer should consider. I've definitely had issues with hydration when using vite and SSR.

I really wish that Nextjs would switch to vite though... Like you said, the dev server is really slow... Next build is pretty slow too actually.

Collapse
 
yugeroh profile image
Oliver James Aco

Hi @ivanivanovv , how's your day? I've just try vratix now but I've encountered some error when installing it can you please help me out. Thanks

Image description

Collapse
 
ivanivanovv profile image
Ivan Ivanov

Hey @yugeroh, we just released v1.0.8 of the CLI that fixes the Windows bugs. Let me know if it works for you and what you think of Vratix after you try it out :)

Collapse
 
yugeroh profile image
Oliver James Aco • Edited

Nice! It works fine now. Thanks @ivanivanovv for letting me know. Awesome project BTW

Thread Thread
 
ivanivanovv profile image
Ivan Ivanov

Thats great to hear! Looking forward to the projects you start with Vratix. btw we have a Discord community, you can join it to discuss anything backend related!

Collapse
 
ivanivanovv profile image
Ivan Ivanov

Hey Oliver! Thanks for reporting it, I resolved this issue yesterday. Will publish a fix today! Sorry for that, will let you know once live :)

Collapse
 
kizukuraudo profile image
John Keys Cloud

Thoughts on Firebase? It’s used where I work currently.

Collapse
 
ivanivanovv profile image
Ivan Ivanov

I've used it before, but if I go for a NoSQL database it will be MongoDB. I find all Google services a bit weird to setup and configure. Haven't used Firebase in ages so that might have changed.

PostgreSQL is just a solid choice for anything production-level.