Как урезать свой перфекционизм?
Чтобы перестать делать лучше то, что ещё не сделано до конца, нужно понять одну простую истину: Запущенный проект лучше, чем не запущенный.
Давайте потренируемся:Что лучше: запущенный проект с несжатыми стилями или незапущенный со сжатыми?Что лучше: не запущенный проект с десятью страницами или запущенный с тремя?Что лучше: запущенный проект c jQuery или не запущенный без jQuery?
Надеюсь, вы смогли выбрать! Как узнать, что пора запустить проект? (Под запуском я имею в виду «показать людям». Например, если вы решили написать библиотеку, давайте считать «проект запущенным», если вы выложили её на гитхаб) Нужно прикинуть, сколько времени вам надо на разработку и умножить на два. Если получилось больше двух недель, то стоит разбить проект на части и прикинуть так про каждую часть. Соответственно, ставите дедлайны.
Промежуточные дедлайны помогают успеть к последнему. Старайтесь сначала реализовать основную функциональность, а потом дополнительную. Если не успеете к дедлайну доделать  дополнительное — сначала запустите основное, а потом видно будет, надо ли вообще доделывать дополнительное.
Ну и не беритесь за каждую идею, а выбирайте самые инетересные. Если вы будете делать пять проектов одновременно, скорее всего ни один не доделаете.
Удачи!
Если считаете, что сторонние либы, которые вы юзаете - тяжелое и тормозное дерьмище (а часто это именно так и бывает), то просто заведите свой npm репозиторий и складывайте туда свои практические решения, и переиспользуйте их