Sometimes the problem is "I have no idea what code to start writing." The simplest solution here is to just start writing whatever code you know that you can write right now. Pick the part of the problem that you understand completely, and write the solution for that – even if it's just one function, or an unimportant class.
Often, the simplest piece of code to start with is the "core" of the application.
For example, if I was going to write a YouTube app, I would start with the video player. Think of it as an exercise in continuous delivery – write the code that would actually make a product first, no matter how silly or small that product is. A video player without any other UI is a product that does something useful (play video), even if it's not a complete product yet.
If you're not sure how to write even that core code yet, then just start with the code you are sure about.
Generally I find that once a piece of the problem becomes solved, it's much easier to solve the rest of it...