Developing a software product requires several steps, it requires the person doing the work to also handle a diverse set of modern technological tools.
You must take the time to think carefully about what you want, cover the needs of the client and also take into account what the user requires to be satisfied.