I have a graveyard of 47 unfinished side projects. Two years ago, I decided to understand why, and developed a system that has helped me ship 12 projects since then. Here's what I learned.
The 2-Hour Rule
If you can't get to a working demo in 2 hours, your scope is too big. This doesn't mean the project has to be simple — it means your first milestone should be. Start with the smallest possible thing that demonstrates the core idea, then iterate.
Build in Public, But Strategically
Sharing progress publicly creates accountability, but it can also create pressure that kills motivation. I share weekly updates rather than daily ones, and I focus on what I learned rather than what I built. This keeps the feedback positive without making the project feel like work.
The Ship-It Muscle
Shipping is a skill. The first few times you push a project live, it feels terrifying and messy. But like any skill, it gets easier with practice. Lower your standards for v1 — you can always improve it later, but you can't improve something that doesn't exist.