Let's discuss web development and the best approach for building projects. As a web developer with over 7 years of experience, I will share what I would use for full-stack web development in 2025 the year coming.
I have built projects from scratch with almost every technology, and each one has its benefits. In the last 7 years, I have built over 5 large projects from scratch using all the technologies I will mention. In total, I have worked on more than 10 large projects, so what I share comes from an experienced point of view.
I will divide your projects in 3 categories. Every projects falls in 1 of the 3, so keep reading to choose your technologies .
Fast Development
There are times that you want to build something fast. You don't really have much time and you want to deploy your project and make it production ready really quick. This can happen to a lot of freelancer that have clients that really press the deadlines.
First, you need to know that in terms of speed, the technology or language doesn't play a big role now that we have AI. What makes your development fast is how many steps you need to take to deploy new features. But we will discuss this later; for now, let's focus on technologies.
If you are time-sensitive, you don't have the luxury to set up your project or check for types, etc. So, for your API, we take Node.js out of the equation. Even if you use vanilla JavaScript and not TypeScript, the boilerplate is a lot, and the JS ecosystem doesn't provide structure out of the box.
Structure and code cleanliness should always be your top priority. Even if you don't have much time, it's better to create less features to ensure your code is clean and readable.
Laravel Provides stability, a lot of features and tools and a structured codebase in order for you to code fast and reliable. I have created multiple API's with Laravel with over 30K lines of code in just under 3 months. I don't really think that there is something else that matches Laravel in Speed, Structure and ease-of-use.
On the frontend, the best choice for me is Preact. Avoid using Next.js. Preact with JavaScript is fast and will get the job done for projects with tight deadlines. Using TailwindCSS and DaisyUI, you can create your frontend very quickly.
For the database, we will go with MongoDB and not any traditional SQL approach because making changes quickly is really important, and we cannot get slowed down by migrations, etc. Also with MongoDB we can have relations as well.
Stack:
Backend: Laravel
Frontend: Preact, Tailwind, DaisyUI
Database: MongoDB, Redis
Details:
This stack will give you freedom, structure, and fast development. You will sacrifice data integrity and maybe you will have some cluttered code. Best options for small-medium sized projects that you have less than 2 months to create.
Large Projects
For large projects you have different priorities and you will also have more time to develop you will go with a different approach.
What makes a large project large? It is not the lines of code but how many developers are going to write code. If there is a chance that you might stop working on the project after some time or multiple developer will work on the same project then it is a "Large" Project.
Large projects are not projects that are going to be used by millions of users. As we've seen from levelsio you can host 2 billion requests per month on a 16 core intel with 64gb of ram VPS
Your go-to choice here is Spring Boot Kotlin. Kotlin is an amazing language because it combines 3 things. The power of Java, the simplicity of PHP and a better type system than Typescript.
All of these combined with the structure, tools and community of Spring Boot it makes this combination unmatched for any kind of project. I have also used this backend on smaller projects that didn't necessarily need the power of the JVM.
If you are a senior developer it is also faster in development speed terms than Laravel I just choose Laravel over Spring Boot Kotlin because Laravel and PHP has a small learning curve.
But for the senior developers out there you can choose this over Laravel.
For the frontend I will go with Angular. Angular is not that old crappy framework anymore. Now with the version 17 and above it has an amazing architecture, tools and simplicity.
If React is the 21 years old hot blonde with little to no experience on anything besides TikTok and semi nude photos. Angular is the 28 years old Latina that can also cook, pray for you and also has the experience of 3 younger blondes.
In combination with an amazing CLI I think it puts React behind on large projects. For the database Postgres is the gold standard and you cannot really go with anything else.
Stack:
Backend: Spring Boot Kotlin
Frontend: Angular >17, Tailwind
Database: Postgres, Redis
Side-Projects
Now for your side-project what you choose doesn’t really matter. What matters is to not get bored and have fun. My choice here will be as simple as Python on the backend with Django. It offers power and simplicity. Also who doesn’t like writing python ?
On the fronted I would go with Nextjs. Just to be fancy here and go with the trend. But to be truthful maybe I would go the Preact. I find Nextjs too complicated for side-projects.
For the database MongoDb is just fine, no other developers will be working and probably you will not have 2B requests per month and millions of users so you care about data integrity that much.
Stack:
Backend: Django
Frontend: Nextjs, Tailwind, DaisyUI
Database: MongoDB, Redis
Deployment / Devops
Now let’s move on to the important stuff. What really makes the difference between a fast, easy and enjoyable programming journey and an expensive nightmare.
If you are not planing of having more than 10B requests per month then you need to get rid of AWS, Serverless, Vercel, Docker or Kubernetes. You don’t have to pay AWS 130$ per month just to host a simple full stack application.
You don’t need to spent 30 hours setting up docker with Kubernetes to be distributed for your hypothetical 1 million users.
You don’t need serverless to charge you $2000 for a DDOS attack.
Just use a Hetzner 30$ 64GB i7 auctioned server, or a digital ocean VPS or even better just use Railway.app the best hosting platform for all kind of projects out there. The interface is unmatched, the ease of use is unmatched and the ci/cd is automated.
Are you a Senior Developer ?
Do you know what you are doing and you truly are a senior Web Developer. Then the tech-stack or technology for you does not matter. If you write clean code, you know system design and you can code on any language then use whatever you want.
All the things I mentioned above, yes for most cases they can make your life easier but when comes down to being a professional you can use anything.
Conclusion
The key thing to remember is that following examples from companies like Netflix or Google is not always right. These companies have to spend a lot of money. Why? When you make billions, you need to spend a lot to avoid paying billions in taxes.
So, these companies have over 10,000 engineers, each earning at least $100k per year, to reduce their tax burden.
We've seen this with Elon Musk's purchase of X. He fired 80% of the company and runs X on just two data centers. This move made the company 10 times more productive in terms of features.
Your goal as a developer or small company is to spend as little as possible on non-essential things.
The most important thing when building a project is not UX/UI or advanced DevOps. The most important thing is the developer experience. If your engineers can work on a new project easily, without distractions and with a clean codebase, then you become 10 times more productive.
Thanks for reading, and I hope you found this article helpful. If you have any questions, feel free to email me at x@sotergreco.com, and I will respond.
You can also keep up with my latest updates by checking out my X here: x.com/sotergreco