I have been working on the same project for a few months now, spending 4-5 hours on it almost every single day. It started with an idea during a run that it would be great to be able to organise all my resources more easily.
I have been coding daily for a while now, but only small half-finished apps for practice. Whenever I work on something I don't have (much) experience with, I bookmark everything that I can find about it: Wikipedia, Stack Overflow, blog articles, Mozilla Developer's Network, you name it.
My list of bookmarks has grown huge and it has become impossible for me to manage them in the built-in bookmark manager. I have added color-hex.com probably five times by now.
So I started working on a bookmark manager. Since then I have learned:
- How to create browser extensions and publish them on Firefox and Chrome.
- How to implement Auth0 for authentication
- How to add PayPal buttons with React Hooks
- How to use external scripts in React with Hooks
- How to use event listeners properly
- How to use
- How to deploy my app to Heroku and link it to my custom domain.
- How to use the useEffect-Hook properly
- How to encrypt my MongoDB Database
- How to use Git properly
- How to choose the right typography
- and so much more
I am still learning every day. It's the best motivator. I don't have to think about, which project to start next, because the ideas come automatically while coding.
The bigger the project gets, the more ideas are flooding in. There is so much to improve and streamline. Not only the core functionalities of the app, but also for example an FAQ site, a support form, improving performance, and so on.
A project like this will probably never be finished, but it has been live for a few days now. I am using it every day and have added so many bookmarks already. It doesn't take me longer than a few seconds to find the bookmark I am searching for, so at least for my own needs I think I have succeeded :)
I guess what I'm trying to say is:
If there is something, anything, that annoys you even a little and that can be solved by an app, this is what your next coding project should be. It doesn't matter if you don't have the skills, experience, knowledge yet or that you have no idea where to start. You will learn it as you go.
If your goal is to learn to code or just to improve, start building something that you want to use yourself every day and don't stop until you love it.