I've been learning C# in my free time and feel comfortable enough with the basics to try a simple project, such as a to-do list. The problem is that whenever I choose an idea, I immediately feel overwhelmed because I don't know where to begin. I'm also afraid of failing or getting stuck. How do you break through that hesitation and start building?
3 Answers
Projects are supposed to teach you, so they don’t need to be successful or polished. Start with something almost laughably small, like reading text and printing a response, then add one feature at a time. Every error gives you a specific question to investigate, and those questions gradually become the project.
Choose something you actually care about instead of trying to build what seems impressive or marketable. Then reduce it to the smallest useful piece. For a to-do app, that could be a console program that adds one task and prints it. Once that works, add saving, then deleting, and so on. You only need to solve the next small problem, not the entire project at once.
Don’t wait until you feel completely ready. Pick a project that is small enough for your current skill level and accept that you’ll make mistakes. You can always turn a tiny exercise into a larger program later. The important part is building momentum and learning how to move from one problem to the next.

That makes sense. I think I’ve been imagining the finished application instead of focusing on the first tiny feature.