I recently finished a month-long project I had been working on. The project was to create an Instagram clone in order to put into practice the knowledge I had gained so far in the React framework. It seemed instantly intimidating and basically impossible but I kept hope. I had help from friends and mentors and finally completed it.
I started this project amidst learning React's basics and working on practice problems. These problems consisted of created basic components that would render a basic button and create a simple function once the button was pressed. The last one I was working on was called roulette gun. Roulette gun rendered a statement inviting you to play by pressing the button. Once the button was pressed, a method would be activated in which the new statement now said, "spinning the chamber and pulling the trigger...". The component took in a prop with the number 8 so when the button was pressed there was also a random number generated from 1-8. If the randomly generated number equaled the given prop number then the statement will now read "BANG!!!!" otherwise it will display "you're safe!".
I couldn't understand exactly how to make this all work at first so I quit. I quit the problem and started on a new endeavor which was creating a clone of Instagram. Trust me I know that seems sort of backward but, I must say that it was the best decision I made. I spent a month sort of pulling my hair on how to figure things out. If it wasn't for my mentor, and friends and the results I was seeing while completing the project piece by piece (Bootstrap helped a lot as well) I would have probably given up on it as well.
While figuring things out I could notice myself understanding the flow of the code a bit more each time. Once I completed the clone, my confidence grew as well. I went back to the roulette gun problem and, with the new gained knowledge and confidence, I was able to see where I was going wrong, correct it and add a whole conditional for what happens when the button is pressed.
All this to say that sometimes it is ok to quit on something like a personal project. Take some time, gain new knowledge or develop what's already there, and then come back to it and pull that trigger.