Я не уверен, что написание спецификаций - это решение ваших проблем (или моих, которые кажутся похожими), однако в случае, когда я хочу сделать что-то большее, чем одноразовый эксперимент, есть несколько вещей, которые помогают мне немного, не принимая веселье из этого.
Спецификации действительно довольно узкие и должны быть техническими, но для хобби вы могли бы написать что-то похожее, гораздо более простое, в котором описаны некоторые вещи, которые вы хотели бы показать, и показано, как они сочетаются друг с другом в некотором роде. дизайн проекта. Хотя это и не так детально или ограниченно, как правильная спецификация, это может помочь удержать повозку, ведущую в правильном направлении.
Во-вторых, вы можете разбить его на части и, в зависимости от ваших временных надбавок, возможно, добавить несколько целей. Если вы сконцентрируетесь на построении одной части проекта как времени, разбив его на подпроекты, которые в конце могут быть связаны, это дает ощущение прогресса, когда вы переходите от части к части, а не ощущение, что вы работали над одним и тем же целую вечность и больше не можете беспокоиться. Это работает, если вы отметите его в списке, так как обычно это должно произойти, по крайней мере, мысленно.
Сказав это, если ваша цель - играть с определенными концепциями, а не создавать конечный продукт, вы, вероятно, этого не сделаете, потому что вы не работаете над этим. Один из способов может заключаться в том, чтобы взять вышеупомянутую идею разбить ее, а затем найти способ добавить что-то лично интересное в каждую часть, которая вам надоедает, возможно, пытаясь добавить в нее вызов или что-то в этом роде.
Я не особенно опытен, все еще учусь, но именно так я продолжаю заниматься своими делами (иногда, если не сталкиваюсь с общей причиной блока из-за неопытности) и как я в прошлом подходил ко многим мультимедийным и веб-проектам на основе хобби года. Хотя парень, который сказал «с открытым исходным кодом», когда вам скучно, и пусть кто-то другой подхватит его, была бы хорошей идеей, если вы хотите, чтобы ваш код использовался, но достигли ваших личных целей.