Side Projects That Actually Get Finished

From Idea Graveyard to Shipped Products

You have 47 unfinished projects. I had 63. Here’s how I went from serial starter to serial shipper.

The Project Graveyard

My 2020 GitHub:

  • todo-app-v1, v2, v3 (3 years abandoned)
  • twitter-clone (2 years)
  • netflix-clone (2 years)
  • portfolio-redesign-1, 2, 3 (2 years)
  • 55 more…

Pattern: Start with excitement → Add features → Lose interest → Abandon

What changed? I stopped starting and started finishing.

Why Projects Fail

1. Scope Creep

Week 1: Simple note app. Week 2: Folders. Week 3: Tags. Week 4: Collaboration. Week 5: Real-time sync. Week 6: AI search.

You’re building Notion instead of a note app.

2. Perfectionism

“Can’t ship until UI is pixel-perfect, all edge cases handled, code is refactored, zero bugs, docs complete.”

Result: Never ships. Perfect is the enemy of shipped.

3. Shiny Object Syndrome

Monday: Task manager. Wednesday: Crypto app. Friday: ChatGPT wrapper. Result: Three abandoned projects.

4. No Clear Goal

“Build something with React” isn’t a goal. It’s a tech choice.

Better: “Build a tool that tracks my reading list.” Now you have a problem to solve.

The Framework

1. Pick ONE Project

Not three. Not whichever you feel like.

Questions:

  • Will I actually use this?
  • Can I finish MVP in 2 weeks?
  • Am I still excited tomorrow?

If yes to all three, that’s your project.

✅ Reading tracker (you read, it’s simple, excited) ❌ AI blockchain social network (don’t need it, too complex)

2. Define the Absolute Minimum

Project: Reading Tracker
Core feature: Add books and mark as finished
No: social, recommendations, reviews, stats, integrations

If it doesn’t support core feature, cut it.

3. The 2-Week Rule

MVP ships in 2 weeks. Deployed. Usable.

If you can’t finish in 2 weeks, scope is too big. Cut more.

This forces you to:

  • Be realistic
  • Cut mercilessly
  • Ship something
  • Build momentum

4. Time-Box Everything

Don’t “work whenever.” Schedule it:

Week 1: Database schema (2h), Backend API (3h), Frontend (4h)
Week 2: Core features (5h), Deploy (2h)
Total: 16 hours over 2 weeks

If you don’t have 16 hours, this isn’t a priority.

5. Ship Ugly

Your first version will be ugly. Ship it anyway.

✅ Working but ugly ❌ Beautiful but broken ❌ Perfect but unfinished

Improve after v1. Can’t improve something that doesn’t exist.

Best Projects

Scratch your own itch.

Best projects solve YOUR problems:

  • Reading tracker (you read, Goodreads was cluttered)
  • Expense splitter (splitting with roommates was annoying)
  • Habit tracker (you wanted to track habits)

Bad projects: “Build X for people who need Y” when you don’t need Y.

Tools, not platforms.

Simple tools: password generator, markdown editor, color palette finder.

Platforms: social networks, marketpluses, SaaS with 20 features.

Which will you finish?

Use building blocks.

Don’t build auth, payments, email, hosting from scratch:

  • Supabase (auth + database)
  • Stripe (payments)
  • SendGrid (email)
  • Vercel (hosting)

Your job is solving YOUR problem.

Tech Stack That Ships Fast

Don’t:

  • Try new frameworks per project
  • Spend 3 days configuring webpack
  • Build everything from scratch

Do:

  • Use what you know
  • Use good DX frameworks
  • Use managed services

My stack: Next.js, Tailwind, TypeScript, Supabase, Vercel.

Why? Zero config, fast, I know it well, cheap/free.

Excitement comes from WHAT you build, not HOW.

Staying Motivated

Track visible progress:

Day 1: ✅ Set up Next.js
Day 2: ✅ Database schema
Day 3: ✅ Add book form
Day 4: ✅ Display list
Day 5: ✅ Mark finished
Day 6: ✅ Deploy

Daily wins keep you going.

Build in public:

Day 1: Starting reading tracker. Ship in 2 weeks.
Day 3: CRUD working!
Day 7: MVP done!
Day 14: Shipped! https://readingtracker.com

Accountability + encouragement + potential users + portfolio.

The 2-Day Rule: Never skip 2 days in a row. Miss Monday? Work Tuesday.

Celebrate small wins: First commit. First API working. First page renders. Deployed.

After Shipping

Option 1: Use & Improve

If you built it for yourself, use it daily. Add features when YOU need them.

Option 2: Get Users

  • Reddit (r/SideProject)
  • Hacker News (Show HN)
  • Twitter, Product Hunt
  • Blog post about it

Most won’t go viral. That’s ok.

Option 3: Monetize

Free tier + paid tier ($5-10/month). Only after you have users who love it.

Option 4: Open Source

Add MIT license, good README, contribution guidelines.

Real Examples

Sahih AI (Shipped): Idea: AI hadith search. MVP: Search and get results. Cut: mobile, accounts, favorites. Time: 2 weeks. Result: 500+ users.

Expense Splitter (Shipped): Problem: Bill splitting annoying. MVP: Add expense, split evenly, see who owes. Cut: uneven splits, currency conversion, receipts. Time: 1 week.

Twitter Clone (Abandoned): Too ambitious, tried to replicate everything, got stuck on real-time, lost motivation.

Lesson: Build simple tools, not complex apps.

The Commandments

  1. One project at a time
  2. Define the absolute minimum
  3. Ship in 2 weeks
  4. Use boring tech
  5. Ship ugly
  6. Solve your own problem
  7. No features before shipping
  8. Celebrate small wins
  9. Never skip 2 days
  10. Finish before starting new projects

Quick Wins (This Weekend)

  • Personal website
  • Link in bio page
  • Bookmarks manager
  • Habit tracker
  • Expense tracker
  • Markdown notes
  • Password generator
  • Color palette finder

Pick one. Ship by Sunday.

When to Abandon

OK to quit if:

  • You no longer need it
  • Not learning anything
  • Causing more stress than joy

Before quitting:

  1. Ship minimal version this weekend?
  2. Open source it?
  3. Write blog post about what you learned?

Don’t let it rot silently.


You don’t need the next unicorn. You don’t need viral. You don’t need money.

You just need to finish something.

One finished project teaches more than ten unfinished.

Start small. Ship fast. Finish.

Then do it again.

Your project graveyard can become your portfolio.

Pick one project. Ship it in 2 weeks.

Go.