MVP

2 points by ask1 ↗ HN
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 ] thread
The quicker you get the MVP, the quicker you can put your product in the hands of potential customers, then the quicker you get feedback about it.

When 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.

Hey thank you for your response, I appreciate your input. I see what you’re saying. You’re getting a lot of data through the feedback so from that perspective you’re not “entirely” re-developing from scratch as you grow. What I’m trying to get at by the term developing from scratch is that say if a company started to get extremely large. 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, etc. while various forms of technologies are implemented, no? I’m not sure so I’m asking, but I don’t see a company starting with the initial django web app MVP and then still using that as they grow to hundreds of thousands to millions of users (obviously this is an extreme case). At some point, they will start building a more sophisticated platform that’s custom built, no? With that said, why still not build from scratch from the very start, as most MVPS are inherently quick to build and not super complex most of the time anyway? And also why not build from scratch if one will most likely re-develop anyway as users grow and your entity scales?
IMHO, the engineering needed to build a webapp capable of handling millions of users is out of reach for a small business trying to release a MVP.

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.