Ask HN: How do you manage your personal projects?
I'm a full-time software dev and also working on some ideas in my private time. Lately I find it difficult to manage different personal projects I'm working on. I have way too many ideas of things that should exist in the world and it seems I'll never be able to complete any of them in the available time. How do you prioritize your ideas, what should be a good process to finalize various personal projects?
29 comments
[ 822 ms ] story [ 3726 ms ] threadI only start something when I know some people that could be interested in (mostly to have feedbacks).
I do many projects at the same time (3 now). Sometimes the projects can converge.
It's only through management that I get anything done at all
I have an ideas folder, each idea gets a text file with a summary of the idea. I write it, I leave it for at least 2-3 weeks, often longer. If I still think its a goer after that, I flesh out out, spend time thinking about implementation
If an idea is to be explored, it gets a folder for prototypes, notes, resources etc.
There are people on here far more organised than me, and I plan to steal their methods.
Idea: An AI bot that sums up the main points from all of the answers on an "Ask HN" post
I'm doing projects for learning, so I only care about adding new useless features that are technically interesting to me, without a time limit.
My example. I'm trying to save money and learn to cook, so I wanted a 3d plot of recipes on the axis of (Money/Calorie), (Time), and Rating. Then I could just look at a graph and know what to cook.
I put most of the things in my homepage with a tree of check-boxes (tasks) divided in 3 sections:
- To-plan : idea dumping, less than 5 words or just an URL for example
- To-do : tasks to do
- Urgent : tasks with a close deadline, should contain not many tasks, or be empty if possible.
When I start a project (moving a task from "to plan" to "to do"), I add a page with multiple mostly static info on it, like a small summary, final goals, commands I need to be up as fast as I can, important URLs.
When I add tasks to a project, I try to make them as small as possible (maximum a few hours for a task), most of the tasks are broken into multiple sub-tasks, that sometimes lead to a new project. Like with git, commits (tasks) should be atomic and when done it must still compiles (no "work in progress" state when I'm done with a task). It's also easy then to find common sub-tasks or sub-projects.
The first tasks on a project are almost always research, compare the solutions to pick the best, prepare and document the working environment, and are often longer than the rest.
New tasks/projects go on top on my tree, so when I have to pick one, I read my list from bottom to up. I sometimes rearrange sub-trees to prioritize them.
When I want to do things, I pick tasks I will work on with these criteria :
- What I'm motivated to do right now (most important actually)
- How useful it will be (for other projects, to ease my life, ...)
- How fast it will be, regarding the free time I might have in the near future.
That way, my (too many) projects all go forward at the same time, I optimize the time I spend on them (with "how to get up to work" instructions), and I always have something to do that I like. Some of my projects get done from time to time. But most do not and it's OK, because I always come up with new ideas so there is always things to add, and the project is never really over.
I don't personally need it, but one way to be stimulated with this flow is to keep your done tasks checked, in an archive page to not pollute your main page for example, and with dates if you are organized, so you can look back at what you achieved from time to time.
PS: I think it's close to GTD, but I didn't take time to read about it to be sure.
- Braindump: New ideas go here as I think of them.
- Graveyard: Archive of bad ideas.
- Research: Potentially good ideas that need fleshing out.
- Ready: Ideas where I've thought through and documented market fit, timeline, tech stack, marketing, or whatever the project needs. And crucially: first thing to do when I start the project, which makes it easier to get going.
When I have free time I look down my Ready list and pick something interesting, and I've done the prep already to get stuck in straight away.
If the idea lasts this test we specify next steps and just start working on a prototype right away. Honestly: I am juggling way to many projects - but I just love it and I cannot help it. By getting someone on board right off the bat I have managed to force myself into getting things done quicker. This process at least secures that I get stuff done and I have successes from time to time :-)
# Initial thought
Date:
Location:
Inspiration:
Solution:
Why is it worth the effort?
Why is it not worth the effort?
What already exists?
Difficulty:
# Log
17-05-15:
- ?
17-06-30:
- ?
I also add idea in a spread sheet, and then I rate them with the following criteria:
- Time needed
- Enjoyment
- Potential income
- Career impact
This makes it easy to see which one you are supposed to be working on. My current side project is the highest rated idea on the list.
For me, I chose to scratch my own itch. I work on a food side project called https://bestfoodnearme.com but my time is extremely limited to a few hours a week. I keep a sketch pad to write down my ideas for the site. If I have ideas related to other projects, I write them down in a more general pad apart from the sketchpad that is focused only on the food site.
I put constraints on which features and ideas I need to work on. If there is a bug in the basic functionality of a project, I tend to work on that first. For new features, I will only consider them if I get feedback from at least 3 different unrelated people that mention the same feature to me.
I always plan out the night before which tasks I will work on the next day. That way I can hit the ground running.