Ask HN: How to Finish a Side Project?
I studied CS in college and for a few years I had this project of building an app to crawl and visualize the intellectual web (starting small with the Twitter API for example; and asking feedback on programming help Discord servers for quick reply). However, I never managed to keep consistency in the development of the app, despite of being mostly committed (I don't have many responsabilities or priorities).
I feel like I have a disease to focus at this point, but I also feel like most developers can't ship a useful solo project and it recomforts me.
I only manage to focus in the evening or when I have somebody to talk with about the app or when somebody on a forum can help me to fix a bug.
So when you are blocked because the side project path is not clear, what do you do?
An open Ask HN community consultation from 2022 where @frozencell convened hundreds of developers and bootstrappers to share real experiences, hard numbers, and tactics.
Hundreds of active indie hackers contributed case studies, pricing heuristics, and pitfalls to avoid when moonlighting on side projects.
That sounds like a cool project. Always a bummer to see that kind of thing fade into the periphery for sure.
This may be a good opportunity to zoom out a little bit, and work on a personal system for finishing side projects, or other projects that are taking a long time.
There are lots of possible ingredients, metaphors, and so on, but what's most important is to keep changing and reorganizing your approach in order to find those ingredients that work best for you and keep you engaged with the project over time. Even or especially when distractions or huge problems come up.
A really simple tracking ingredient that works well for me, for example, is to measure something I call executive distance: How much time has elapsed since I've done anything on the project. This distance can affect motivation, working memory, technology approach & technical debt, and so on, so it's important to track it as a way of helping you determine whether your overall plan is really working. If the xd keeps going up over time, your plan needs to change.
You may also want to look into using automation and systematization (more the latter at this stage, I'd guess) as topics to research. They require a more grosso-modo approach to some details, but in exchange you are able to design and manage a system, and this is the metaphor most people want when they need a lever (so to speak) to use on a daunting project.
Good luck to you, hope you find a way back to that project.
Mostly, I acknowledge to myself that I don't care enough to finish it into a "shipped project", and just let it go.
For me, most of my side projects are about learning and satisfying my own curiosity. The can have accomplished their entire goal without ever being "finished" in anybody else's eyes. Once I've answered "I wonder if you could do {foo} and get {bah}?", I'll mostly lose interest once I've demonstrated to myself that I can (or can't). Often I'll lose interest because in the middle of doing {foo}, I'll discover some other interesting {baz} that I want to investigate more than I want to achieve {bah}.
If you're doing your side projects for other reasons, you'll probably have different motivations. I'm not looking to fill up a portfolio of things to show off to potential employers, or trying to build passive income or bootstrap my own startup. If that what your side projects are for then shipping them actually matters. For me, shipping would be a boring but of extra crap to do after I've satisfied my own intellectual curiosity.
It's a side project, you're not supposed to have a deadline.
Though sometimes a deadline makes "completion" more of a certainty, if you want to complete a side project you may need to push the milestones to a conclusion in some unfamiliar way other than the well-known corporate deadline.
And completion may look very much different, you may end up with less of an MVP and more of an incredibly useful product.
So you work on it anyway, even without a clear goal all the time, you want to make progress regardless dont you?
Something good will come up in ways that will not happen if you halt.
This is what worked for me:
Allocate a certain amount of time per day eg. 4 hours in my case. Regardless of what happens, do your absolute best to hit that amount of time daily. Whether that's researching problems, applying fixes, or just writing code, do as much as you can. I used a time tracking app, and this helped me push forward and get some of my side projects done and launched.
Good luck!
I wake up at 7am each day, and work on my own stuff until I either ship or it's time for paid work (normally it's two hours).
It was incredibly difficult to get started, but once you persist it becomes an automatic habit. I've written books, shipped several SaaS projects, and blogs in this time over the last few years.