Developing software is not like ordering food at a restaurant. If you get raw chicken at a restaurant, you send it back in disgust. If you get raw software delivered initially welcome to the club. Initial software is always going to be rough in the grand scheme.
This is an old screenshot of Uber
It is crude, the fonts don’t look right and the car icon looks silly. It didn’t matter.
There is no way to go from no software to awesome software without launching a MVP and then iterating. It is impossible to go from 0 users and no app to 500,000 users and a polished app without paying your dues in the marketplace. Continually adding ‘1 more thing’ and not launching is not going to improve your situation.
You need to do 1 thing, and do it well in the beginning. Trying to do 10 things well is going to deplete your budget and you will convince yourself that ‘software development is just not for me’.
Paying your dues is an activity that means getting outside of the building and testing out the software with real users. It is foolish to expect your internal team or an outside dev shop to provide the feedback necessary for a startup to succeed. If it was that simple then VC firms would be pumping start-ups out like cars.