I have an idea...where do i start?

You should translate your high-level idea into a high-level program: