Paper + pencil = start drawing bubbles that are features. Build a dependency diagram. This helps to show you where to start building and what the important parts of your application are.
The more you plan, the less you re-program. Some papers I have read state that planning and validation should take approx. 30% of the project total initial build time.
User stories are a good start as well.
Copyright the idea first, for legal coverage; then talk to target users and get feedback.
Research, has anyone do it already, or anything similar?
Don't get stuck on 'it has to be perfect'. Get is done. Having something done is better than a billion best wishes.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.