I call it the Cliff, but it could just as well be a mountain. An inevitable point that I reach with all projects that I undertake on my own time. I start with gusto, after the initial paralysis on choosing which of the thousand different options to use. I get a good run at the problem. Start adding modules, functionality and UI springing up and all is good with the world.
And then I stop. It’s normally doubt, but doubt is really just fear I’ve done something wrong. Will people use it? Will this bit break and fail and burst into flames and burn everything else I’ve made? There are already a thousand similar apps or libraries or tools; what makes mine anything different, let alone better?
This paralysis kills me. The project lays dormant and I flee to whatever distraction I can find. A game, a book, the gym. Sometimes I’ll come back and try continuing with the project, but that normally means a ground-up rewrite which hits the same wall at the same time.
All the major things I’ve released have all been designed so that they can be achieved before the cliff face approaches. Bulk Buffer was made in a week, GPS Heatmaps a weekend. It seems ~2 weeks is the upper limit.
I push myself now, to stay focused and tune out the worries that normally bedraggled each project. At the very least I’ve found a simple TODO.md to be a wondrous little thing because it lets me focus on putting one line of code down at a time.
I’ve got several projects on the go at the moment. Each has hit it’s wall, but each will continue as I rotate between them. This blog post serves as a mediating distraction but I’ll get back to it soon enough.