MVP
As an example, if a startup is choosing to build a web app as the platform for their business, why would they choose to start with a django web app instead of developing it custom from scratch with a JavaScript, css, and html frontend, python REST API, and a database, etc.? I get that they could launch quicker and save time with the django web app MVP, but if the company grows and gets really big, won’t they have to pivot and start developing from scratch anyway? Or, is it okay and not bad to build the MVP custom as described?
3 comments
[ 5.5 ms ] story [ 15.6 ms ] threadWhen you pivot, you're not developing from scratch, the whole R&D has already been done, you got feedback, you know the weak points, you can and will do better.
Also, Django is a well thought framework for building webapps, so it's safe to assume you won't need to move away from it during a long time.
If the company have potentially millions of users, the income should be large enough so that redesigning the MVP should not be a problem.
Think about premature optimization, the MVP's goal is not to handle millions of users, its goal is to tell the world you exist. If you start building from scratch such a complex system, you take the risk of delaying your first release by months, leaving room for competition to grow.
Also, recruiting. If you built your software on top of widely known tech, it's easier to recruit developers. If you do everything homemade, you can be sure no one will have experience with your tech.
> At some point, that company will pivot away from the initial Django based web app MVP or MVP in general and start building a modular platform where the frontend and backend are independent from one another
What prevents you from just making a REST API with Django and serves a static frontend made with Vue or React? You don't need the coupling between frontend and backend with Django templates, you can make independent and *interchangeable* components (the REST API can always be replaced by another implementation, 2 different frontends can still query the same REST API).
NB: You can also do GraphQL with Django.