
Ask HN: What did you do differently to ensure completion of your side projects? - deker_
I often start side projects to explore new ideas or learn a new technology, but have a bad habit of leaving them half-finished.<p>If you were like me at some point, what work habits or best practices did you develop that enabled &amp; encouraged you to start seeing your projects through to the end?
======
staunch
1\. Make _releasing_ your stuff the _primary_ goal, because anything you don't
actually put into the world is just personal research.

And then update the project and release a new version!

Your product-making skill level is the number of product releases you've
created. If you want to get better, you have to do more releases! Unreleased
projects do not count because there are no other users!

Releasing is like exercising a muscle, so the more you do it the stronger you
get. Jony Ive would be like a 350 lbs bodybuilder of product development.

2\. Constantly be creating new projects. Do not settle on one and spend years
perfecting it, unless lots of people are really excited about it and you are
too (see: Linux).

Don't get your ego or excitement wrapped up in one project. Tell yourself that
this is just one of many projects and that you're going to keep doing new ones
even if this one is successful.

Keep creating new things at a rapid pace. Don't get bogged down unless by very
deliberate choice.

3\. Be ambitious. Go ahead and create a Google competitor in 1000 LOC, or
whatever. It's amazing how few people even attempt to do anything big just
because they assume that's someone else's job.

Go bonkers. Tilt at windmills.

------
superasn
I think the trick is to release them as soon as they are almost done, think
95% because for me the last 5% was always the hardest and that's what caused
the longest delays.. Trying to sort out all the bugs and making it perfect.

Once some money or feedback starts rolling in it makes it incredibly
motivating (or sometimes demotivating but that's good too) to keep working on
it.

------
AlexAMEEE
I tell all my friends about it.

I owe them to finish my projects, they know that if I promise something I
deliver.

This helps, I'm working since oct 2016 on a project, I don't like it anymore
since march 2017, the honeymoon is over, the tech stack is boring and the
project makes me upset every time I have to write code.

I'm still coding every day, it should be done next month.

~~~
owebmaster
I'm doing this too, after a long time trying to do the opposite because it was
frustrating to have to explain why I didn't finished something. It's better to
have social pressure than not, actually.

~~~
AlexAMEEE
Totally, especially when we care about those people and when we value their
opinions.

------
deepakkarki
I agree with staunch. It's important you know whether you're doing it for the
end result or to learn a new stack. If it is the end result train yourself to
not care about the details. Keep the tech minimal and all the design choices
should be centered around one question - "Will this help me ship?"

I had the same issue of getting bogged down by technical details, so when I
was developing my side product
([https://discoverdev.io](https://discoverdev.io)) I ensured everything I do
will be geared towards shipping it!

I hadn't developed a frontend app before so I kept it simple, just HTML and
CSS - no JS, no framework.

------
meagher
Start by building small, interesting, independent parts first. You'll gain
momentum and then be able to stitch them together/do the boring things, like
authentication, home page, etc.

For my notes app (Notational
[https://github.com/tmm/notational](https://github.com/tmm/notational)), I
first built the editor, then incremental search, then authentication. Finally
I went back and did note sharing, dark theme, and the home page.

