What's been helpful for me has been organizing projects into a hierarchy (you can use something like Trello, or you could just wing it like I do)
- Unproven ideas aka "disposable things I want to just play around with"
- Things to explore further aka "ooh maybe I could flesh this out into something cool!"
- Things to polish aka "okay let's do the grunt work to ship this"
Otherwise, I've just become okay with having a billion unfinished things. I spent the last few months learning OCaml, and put code[1][2][3][4] on GitHub without feeling like I need to "finish" or "ship" anything.The code might prove useful to a passerby, or it may not. To me it doesn't matter too much - no real downside to just "putting it out there"
My motto is basically: Feel free to rm -rf, git push, or even go as far as to make a fancy landing page. Just have fun and don't forget to share whatever you learn.
[1]: https://github.com/jdan/ocaml-micro
[2]: https://github.com/jdan/ocaml-data-structures