Over the past few years, I've worked with robust and complex architectures: microservices, Kubernetes, message queues, millions of requests per day. Naturally, when I started a new personal project, my mind went straight to:
- Separate API and frontend
- Different deployments
- Observability, alerts, scalability from day 0
But is this the right path for an MVP?
The answer I found was: not necessarily.
A new experiment: less complexity, more delivery
For my new SaaS, I decided to try the opposite:
- Use Next.js not only as a frontend, but taking advantage of its full stack capabilities
- I centralized the logic in Server Actions
- For checkout, I adopted Stripe Checkout out of the box, without reinventing the wheel
- No queues, workers or distributed services — everything in a single deployment
Benefits I noticed
- 🚀 Fast delivery: less configuration, more code that matters
- 🧩 Simple maintenance: everything in one place
- 💡 Focus on the product, not on the infrastructure
And most importantly: I moved forward. I took the idea off the drawing board and started testing it with real users.
Conclusion
If scaling becomes a problem in the future, great — that's the kind of problem you want to have.
But until then, think twice before applying complex solutions to simple problems. Sophistication can wait. Delivery can’t.
Have you also experienced this when building your own projects? How did you find the balance between robustness and simplicity?
Top comments (0)