i've tried and failed at this twice. third attempt is going better, and i think i finally understand why the first two collapsed.
the failure mode both times: i treated my side project like a second job with a demanding boss. i set weekly hour targets. i felt guilty when i missed them. the guilt made the project feel like work. eventually i resented it the same way i resented my actual job. stopped opening the repo. project died.
what's different this time:
fixed hours, not minimum hours. i work on the project tuesday and thursday evenings, 8-10pm, full stop. if i'm tired i might push one small commit and close the laptop. if i'm in flow i stop at 10 anyway. the constraint creates safety. i never have to wonder if i "should" be working on it right now, because the answer is always: not unless it's tuesday or thursday evening.
separated exploration from execution. monday i might spend 15 minutes jotting down ideas, research tabs, stuff i want to try. that's not "project work" so it doesn't count against my energy. but it means tuesday evening i'm not staring at a blank doc trying to figure out what to do next.
kept the day job at work. i know this sounds obvious but it means no sneaking project work during meetings, no "productive" lunch breaks for the side project. complete separation. the mental cost of context-switching and the low-grade paranoia of being caught is not worth it.
smaller scope than feels comfortable. my first project wanted to solve everything. this one does one thing. i can open the issues tab and close it in 30 minutes knowing exactly what i'm doing next session. small scope is underrated for sustainability.
what to do when motivation drops (it will): don't take a week off planning to "come back refreshed." that week becomes a month. if i'm not feeling it on tuesday, i open the repo anyway and do something tiny. update the readme. rename a variable. the barrier to returning gets higher the longer you're away.
is this the fastest way to build? no. but it's the way that has survived contact with a 9-6 job plus a social life for eight months now, which is more than i can say for my previous attempts.