Thanks for your honest criticism of yourself. I would add that this:
“ We coded alone, without real user feedback.”
is something even big companies still regularly do, so don’t feel too bad about it.
No seriously, I think one of your mistakes was also to not have an experienced engineer on the team. Those people cost, but there is no substitute for them. People who can make realistic time and cost estimates are rare (Software Engineering, Ludewig and Richter). But you need those people, especially in a start-up. Enthusiasm, passion and dedication are good and necessary — they are not how you come up with realistic estimates and risk assessments. For that you need soulless realists who have been hardened by real-life experiences in industry projects.