Yeah, taking forever to figure out how to solve a problem and after a lot of time you feel like you wasted so much for that little bit of code you made. Even worse, when you are finished and then suddenly you realize another way to solve it, that would have been a lot faster without causing so many other problems, that you needed to solve for your initial way as well.
What problem were you solving?
If you want a feature that gets definitely approved, build in a way to control the local coffee machine. {XD}
Ever heard of Functional Programming? It's programming but with a more mathematical way and a major focus on recursion. There are actually a couple things coming from functional languages that are present in C#, Java and other languages; Lambda Expressions, for example.
It might be a good idea to just hold it off for a while and focus on other projects that allow you to learn more, so when you get back to it, you can look at it from a different angle. :)
Good thing about these online based projects is that you have a good way to present something to potential employers. Instead of just giving them some code to show what you're capable of, you can just give them some code and show them what it looks like in practice.