Hey everyone! I'm a software student who has recently stepped into the role of tech lead for an early-stage startup. As someone who's not yet a senior engineer, I'm looking for honest and practical advice from experienced developers about building a marketplace app that can support over 5000 users at onboarding.
To give you a little background, I have experience with a working CRM system and I understand the basics of connecting frontend, backend, and servers, along with REST APIs. I also have AWS Cloud Practitioner certification and some knowledge of Docker, load balancing, autoscaling, and microservices, but I haven't built a high-traffic, production-grade system before.
The project involves creating a two-sided marketplace with real-time updates, heavy request traffic, and a potential payment integration. My main concerns revolve around choosing the right architecture, ensuring state consistency, managing concurrency, and avoiding common pitfalls that new engineers face. Specifically, I want to know if I should start with a simple monolith or microservices, if my chosen MERN stack is appropriate, and how to effectively plan for potential bottlenecks. Any recommendations on resources, architecture suggestions, or lessons learned from your experience would be greatly appreciated! Thanks!
3 Answers
Keeping it straightforward is the way to go. Use PostgreSQL for your database, a single application server, and perhaps Nginx for SSL. This setup will cover your initial requirements without overcomplicating things. Don't stress about optimizing right now – you will learn more about user behavior as your app takes off and you can adjust accordingly later.
You're not in over your head at all. 5000 users is pretty standard for a minimal viable product (MVP). Just to clarify, it's key to understand that having 5000 registered users doesn’t mean you’ll face 5000 simultaneous connections. Start with a modular monolith. Avoid microservices at this stage because they introduce unnecessary complexity. Focus on building one API and one database for now. MERN can handle your needs, but consider switching to PostgreSQL for better management of your marketplace and booking logic.
Starting out with 5000 users isn't as daunting as it may seem. A well-setup Node server can handle that without much fuss. I'd suggest going for a simple MERN monolith with a managed database like RDS or Atlas. Overengineering can slow you down – focus on getting it running smoothly first, and ease into optimizations later as you identify bottlenecks.
Totally agree! Keeping it simple will help you launch faster. You can think about scaling once you see how it performs.

Great points! It really does make the development smoother when you start simple. You can always refactor down the road if needed.