

Ask HN: How do you deal with an extensive list of pet projects? - nkantar

I’m a full-time software developer with a constantly growing list of pet projects and an increasing inability to actually get any work on done of them.<p>At this very moment I have ten repositories on BitBucket that mostly have just READMEs with notes describing what the project is about, though some have a bit of actual code as well. One of these projects stands some theoretical chance of being worthy of a startup some day, but they’re all mostly things I either have a use for or want to build to learn something.<p>The problem I have is something akin to paralysis of choice: I think about most of them here and there and sketch something out or jot down some notes, and sometimes even write some code, but I lose a fair bit of time I could spend being productive on deciding what to work on.<p>The net result is that I don’t get much of anything done, and it’s incredibly frustrating.<p>I imagine there must be others who can relate, and I’d love to hear about how you’re dealing with this (and how successfully).
======
lovelearning
I have wide interests, and my problem too for a long time was similar - not
being able to decide what to work on, and end up not working on anything much
at all. In other words, classic procrastination.

But from past couple of months, I've improved tremendously by "time
slicing"...like a CPU. Meaning, I quickly pick a small list of 5-6 interests
every morning from my Evernote notes. Rest of the day, I randomly pick one
from this list and work for exactly 1 hour on it. Then I pick randomly again
and work on that for 1 hour.

For me, the 1 hour time slicing takes motivation, decision and procrastination
out of the picture, and replaces them with discipline. Drawing up the daily
list of interests is still prone to motivation and mood, but now it's a one
off decision, not something I've to do repeatedly rest of the day.

A single time slice results in only a little progress, but cumulatively over a
period of a week or month, I've managed significant progress in every one of
my interests, including revenue generating ones. I'm nowhere near as
frustrated as I used to be.

It may or may not work for you, but even if it doesn't, I'd like to generalize
the concept as follows: settle on a process that depends less on motivation
and more on enforced discipline. Rather corny way of stating it is, motivation
is only the ignition, but discipline is what keeps the engine running and
takes one ahead.

------
insin
I'm in the middle of the most productive streak I've ever had working on pet
projects, using a combination of an IDEAS.md file and the GitHub contributions
calendar.

IDEAS.md is always the leftmost tab in my Sublime workspace. Every project I
have an idle though about, a concrete idea for starting, or a next thing to
work on gets a heading. Most of these have just 2 or 3 lines under them. For
larger projects, there may be a big bunch of ideas, with some picked out for
the next release. Every time I edit what's under a heading, I move it to the
top. This keeps a mix of bigger and smaller projects, big and small tasks,
high-level and low-level ideas churning in the file, making it more likely to
be able to find something I feel like doing right now.

(One of the ideas is to write a React app to automate this)

Above the first heading I keep a list of generic grunt work that needs done
and high level things which could be tried with any project, like learning to
use new tools. If I'm not feeling it on a particular day, a combination of
these and not wanting to break the chain can get me started doing _something_
, which usually leads to other things, even if they're just more ideas.

At the end of every day, I "Close all to the right" on IDEAS.md so it's the
first thing I read every morning.

I've found that actively doing at least a little bit of development every day,
even when I don't feel like it, has made me more likely to feel like it over
the last 4 months and more likely to have a go at something instead of mulling
over it. An idea becomes a quick proof of concept. A quick proof of concept
gets fleshed out and becomes a project. A project gives you ideas for new
features and other, related projects and on it goes.

------
AndriusSutas
>The problem I have is something akin to paralysis of choice

Yup, had exactly the same problem myself. What I did was to introduce a
ranking score for each project I might want to do and then just do the top
one. I constantly add to the list and only remove projects if I do them / have
learned they are not going to work / get new information which pushes them
down/up in the ranking.

Series of questions I use to evaluate the project: What problem does this
solve?; How does the MVP look like?; What is potential monetary upside?; What
is potential personal-brand upside?; What are the potential risks?; What is
the required time / monetary / etc budget?; Who is this project targeted at
most?; Will there be new skills-of-interest learned?; Will this project lead
to bigger projects?.

Each question has a 1-5 score slide which I later sum up with custom weights
to a "final score" which I then use to rank the projects.

------
sighype
Break the project up into lots of little pieces. Attack the little pieces.
Don't do little pieces from other projects until the little projects in your
main project on the way to a major milestone are done. As someone who had your
problem for a long time: Trust me, it's this simple.

Try using some issue-tracking service to keep things organized to help you
plan. JIRA may be overkill, but there are other systems that help.

~~~
cmstoken
I have a similar problem and this sounds like a great way to combat it. I'm
curious, do you write down the little pieces as a todo list or do you just
make a mental note and go about it?

~~~
sighype
Some of it is mental, but ultimately it does get recorded into a record-
keeping system of some sort. It's too hard to always pull out the record-
keeping system and keep things in it. However, when the record keeping system
looks like it's running on empty, I tend to brain dump into it.

Just tell yourself to have a one-track mind and make your list and record
keeping system your life. Never deviate, and just always do little steps
always. Every big picture should always be made of thousands of little
pictures.

------
1123581321
I hear you. There's a number between 1 and ~few that is perfect for you. For
me, it's three - few enough that they all see progress, but many enough that I
am always in a mood for one of them.

I like having long lists of projects, but if I'm not working on them, they're
on a list that I know is non-committal, so I don't feel bad about it.

I find the challenge is not letting new ones creep into my free time once I
table most of the old ones.

------
helen842000
It's important to remember that it's ok to have an idea and not act on it. You
will have way more ideas than you can ever hope to have time for - what's
important is that your mind is free to focus on whatever you choose to work on
without being distracted.

What has helped me in the last year is to keep writing ideas down but be very
selective on those I will work on properly. If I spent a week of free time on
every current idea I have so far - that would add up to the next 5 years of my
life. It's not sustainable. What I want is to just see some of my ideas come
to life.

Also if you're not in the habit of launching products and tools going from 0 >
startup is a huge task.

Why not commit 1 weekend to 1 tiny, achievable project (Fri eve to Sunday eve)
see how far you can get when constrained by a deadline. No matter how basic,
buggy, janky or simple it is - you have to show people on Sunday night & wake
up to the response on Monday. You will end up with a project that has seen the
light of day and then you can decide if it's worth continuing.

------
DanBC
List each project on a piece of paper.

Think "do I want to spend 100 hours making this into something?" Then toss a
coin. Heads it dies, tails it lives. You may decide while the coin is in the
air. Or when the coin lands you might say "best of three" \- these are both
great if they're actual choices.

Go through the list and whittle it down to at most three.

Put all the dead projects in a single document / wiki / archive under a
"things I want to do eventually" heading.

------
louisbird
I'm doing this for money, so I prioritize based on that.

I put everything that I think would be cool to do in a doc. Then I add from 1
to 5 $ signs next to each task depending on how much money I think the task
could make, or a ? mark if it has questionable financial value.

For example:

"Optimize documentation pages to rank better in Google - $$$$"

"Improve styling of download links table. - ?"

Then it's really easy for me to decide what to do.

------
ghrifter
I like to make "prototypes". Projects that show an idea but arent fully
implemented or featured.

For example I made a soundboard just today in a few hours. It has a few sound
files that play when a user clicks on the image/div and I built some other
functions relating to that. The sound boar is a prototype, just needs more
fine tuning when I feel like its an idea that should be completed.

------
andrewchambers
As someone who keeps starting new projects, and also swapping which
programming language I want to implement my projects in.

My new strategy is to just refuse to let myself start a new project until an
old one is finished. Then I need to think more carefully about making the
commitment to create the repo in the first place.

------
alltakendamned
By realizing that if I am not working on it, it's not a project but an idea.
Like you, I have a very long list of ideas and quite a limited amount of time.
So I tend to just pick one or two and ignore the rest until something makes me
change my priorities.

------
hiiamlilo
And here I am , sitting with no such ideas in my hand with lots and lots of
time. Can you share them , if not even whole ideas but subparts for it. I
would love to code them.

~~~
ghrifter
What are you passionate about? Is there software relating to that passion that
could be improved? If so, there is your idea. Even if it's a derivative idea,
it would still be a good learning experience.

