Today I'm gonna share the path I went on building the prototype of my idea and how I realize that prototype could be much less than I could even be imaging.
A little bit about idea
The initial plan was to build a service that allows anyone to generate best travel route for next vacation. The customer just needs to fill in a simple form with information about the region and most suitable dates, and we will make a list of possible cities to visit and best flight connection between them.
First step - "Building the minimal product."
I start building a prototype for the project by making a list of most crucial features, plan what kind of frameworks I'm gonna to use, spent few days planning and building the domain model, create system architecture and other fantastic and easy development tasks.
This way I spent the whole week, and in the end, I had only a git repo with a bunch of commits but no real results presentable to the world except maybe this picture of the domain model draft I spent few evenings working on.
This situation forces me to the realization that actually something is wrong with my approach, and I should start smaller, at this moment step number two begins.
Second step - "Landing page should be sufficient."
At this stage, I decided that to start serving the customers I do really need to have only a cute page where the user put required information, and I save it into DB, send the notification to myself to know that request received, and I need to fulfill the request.
This moment was beginning of the UI saga and lead to one more mistake.
I did a research and found that most of "hip" applications use some modern web frameworks. Sure that should not be hard, and I start a deep dive.
It was foolish because I kind of did something and learn new tech tool, but it didn't make me closer to my goal.
Third step - "Just a web form."
Finally, I realize that in essence I just need to get data and if someone wants me to build a personalized travel plan for them simple web form will be enough.
No need to make a fancy UI or setup database connection, just create the account on one of the tons of online-form providers, probably everyone was seen or fill it in before.
I personally like TypeForms because they provide an enjoyable experience for both making and filling in the forms with the bunch of different customizations.
What is really important for the product prototype?
There is only one essential thing for most of the software product prototypes - it should actually solve the problem everything else just does not matter.
It is just that simple and binary if software solves the problem it is useful otherwise does not matter how cute it is or how gorgeous it looks like.
If the prototype does something else rather than provide value to the customer most likely, it is a wrong direction to pursue and in my case it led me to desperation and nowhere.