You could use what are called "user stories" to generate a list of things that need to happen to bring it to life without having to nail every single thing down beforehand. Think of a statement "As a <role> I want to <action>" which applies to your idea. Add it to an issue tracker like trello or just write it down if you don't want to set up infrastructure just yet. Build up enough of those that you can get going. Add more as they occur to you. If it becomes more than a side project and you start working on it with other people look into agile methodologies such as eXtreme Programming (XP) and Scrum and adapt as necessary.
Thanks for these valuable tips, very helpful to start a project without distraction
Epics and User stories are two topics I feel I am weak with. Really need to spend more time learning about them. I tend to just grab a note book and start jotting everything down from class structure to database tables. Then I quickly become overwhelmed. Going to start trying this out. Hopefully I will get more projects done.
Nice answer. I also recommend Lean startup techniques to validade If users would buy your product and the lean inception agile technique to really get to know your product, what it does best, how is it different from the competition, and how to choose tasks and prioritize them. The point being: don't build it before you validade that users are willing to pay for it
Caveat: this is only relevant for the sorts of projects where you want to sell the end result.
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.