"Stop, Just F'kin Stop", that's what I say to myself every time I have an idea and my hand reaches for the keyboard to start building it.
I'm not sure if all developers have this problem.
For me, its the knee-jerk reaction. 'Have an idea, will build'
The fact that we can build something, doesn't mean we should build it. It doesnt mean it is wanted/required. Sure, its a good learning experience. But call it a project then, and not a startup.
Have an idea? do this first.
Hold on to that idea, atleast for an extra night. And if you wake up next morning, feeling as excited about it. Then you've maybe got something you might be interested to work on.
Google your idea. Its most likely you'd find someone (or many) people doing the same/similar things. Nothing to be disheartened.
Try and see what each of those are doing exactly. Maybe compare them, feature wise/pricing wise.
Discover/Poach your customer :
Try figuring out who your users are going to be. Try to draw as detailed a picture of your user as possible (Gender/Age Group/Occupation/income Level/Geographical Region/)
Or if in previous step, you did find people doing similar stuff. Try to find out who their customers are. Talk to them. Understand the way they use the product, and if they have any issues/complaints.
Set up a simlpe landing page. Nothing more than $20
Get feedback from folks you know fall under your 'ideal customer' bucket.
If its something you can/want to use, then sign up for each of those competing services, and see which solution is better, and which is not. Pick the best features from them, maybe ?
Non tech advantage
First the disadvantage :
- Building the app/site is not something they can do immediately.
- They need to find a good developer who would build it for them (which would cost them money) or
- They need to convince someone to join as a tech cofounder.
This disadvantage is also an advantage, as their knee jerk reaction to an idea isn't to build it. But doing the above research.
And that's what you (a developer) should do too.