Joy, Skill, Career, and Money: How I Choose a Side Project

What makes a good side project? Bryan shares his criteria and explains how choosing a good side project can bring benefits for years to come.

I’m always working on some sort of side project. I like having a thing that I can puzzle over, make progress on, optimize, and watch develop into something valuable.

For me, that thing is often web software, but it doesn’t have to be. It could be a difficult piece of sheet music or a good 5k time. What’s important is that it brings me some combination of:

  • Joy - Excitement and pleasure from working on it
  • Skill - Knowledge and abilities that I can use in the future
  • Career - Future career and networking opportunities
  • Money - 💰💰💰💰💰💰💰💰💰💰💰💰

If you’ve got a side project that’s bringing you all these things, then you’ve hit the jackpot!

I haven’t hit the jackpot yet, but I’m making progress. I’ve gone from building terrible JavaScript games to open-source projects being featured in newsletters and used by projects like Twitter Bootstrap.

I want to get even better at identifying and building out meaningful side projects. In this post, I’ll talk about how I come up with project ideas and how I decide which ones are worth working on.

The Idea Book

Most side projects I choose start in my Idea Book, which is simply a big list of ideas I keep in Evernote. No idea is too big, too small, or too stupid to be included in the list. For example, my current list includes things like: “Pokémon Go, but for Minecraft,” “Dr. Seuss Ipsum,” and “Candy Corn on-the-cob.” Whenever I get an idea in the shower, or in some obscure conversation with my coworkers, it goes into the list.

Each time I have an opportunity to work on a new side project, I review the list. This happens pretty often for things like hackathons, meetups, or just having a free afternoon. As I review the list, I think about those four criteria: joy, skill, career, and money.

Inputs and Outputs

It’s useful for me to think of side projects as a black box that has inputs and outputs:

side project black-box diagram
Every project requires an input of time and results in outputs of joy, skill, career, and money.

The profile of every project is different. Some provide mostly joy. If you could call a Star Wars marathon a side project, then this is what it would look like:

Star Wars Marathon black-box diagram
A Star Wars marathon is a low-time investment (it only takes a weekend), and it provides lots of joy. Obviously.

There are a lot of joy projects out there (and not just movie nights, either). You get a spark of an idea for something fun to work on, and you do it. For me, the problem with joy-only projects is that once they stop being fun (as most things eventually do), there’s no other reason to keep it up. When you’re putting in time and getting out nothing, that’s a bad side project. Bad side projects are a thing, and if you value your time, you want to avoid them.

The projects I aim for have:

  • A mix of benefits
  • Long-lasting benefits
  • Benefits that are disproportionately large, when compared to the time requirement

That’s the ideal, at least. Here’s how a few of my current projects look:

AnchorJS black-box diagram.
AnchorJS requires infrequent, regular maintenance, but because it’s used in online docs, I get to work with developers and projects I respect, like Twitter Bootstrap, Middleman, and Padrino.
Bouncy Ball black-box diagram
Bouncy Ball is a fun idea, and I’ve learned a ton about web animation while working on it.
Powerpoint Karaoke black-box diagram
This little site doesn’t make much money, but it only took a weekend to set up. Now I have a small, completely automated source of recurring income. Certainly worth the small upfront investment.

Imperfect Information

You don’t always know what kind of time investment a project will require, but you can get better at estimating this with experience. Is your project likely to get a burst of attention that trails off (like this demo I made)? This is more likely to require a short-term time investment than an open-source tool that’s part of somebody else’s essential process, like a deployment pipeline, testing workflow, or CMS.

Also, you don’t always know if a project will bring certain benefits like opportunities or money, but you can usually tell if there’s a chance. You certainly can tell when there’s no chance (I’m looking at you Cloud To Butt plugin).

If we had perfect information, these decisions would be easy, but we can’t let this lack of information result in analysis paralysis. It’s always important to just try things. Usage is like oxygen for ideas. Ultimately, we’re just trying to avoid the mistake of committing to a project that costs all our time and has no long-term benefits.

Choosing

This idea of inputs and outputs goes through my mind each time I review my idea book, and as a result, certain projects seem to rise to the top. Those are the ones that I’ll pull out and try at hackathons and events. If the list is getting long, then I go through and archive those ideas that seem to sink to the bottom (like that “Candy Corn on-the-cob” idea I mentioned). I don’t throw any ideas away entirely because digital storage is cheap, and maybe that “bad” idea is actually a good idea for a different time or a different person.

Realizations

Thinking of side projects in terms of their inputs and outputs has resulted in some realizations for me:

  • Each of these input/output diagrams is a snapshot in time. The levels of inputs and outputs can change, and being able to predict how they’ll change over time is powerful. A great project brings compounding benefits in the same way that compounding interest brings wealth.
  • Joy, skill, career, and money are the outcomes I’m tracking, but they aren’t the only options. There are a lot of potential outcomes (like “helping others” or “accumulating power”), and you can choose ones that match your goals.
  • A side project can be anything from an open-source tool to “finishing your basement.” You can apply this input/output thinking to anything you do, to bring clarity to your decisions in other aspects of life (for example, try applying it to job opportunities).

But the most important thing I’ve realized is that you cannot change the time requirement. Time is the currency of side projects, so it’s extremely precious. If you have no time, you have no project.

How you get time is another topic I’m interested in, but I’ll have to save that for a future post (if you’re interested, Cal Newport has some excellent thoughts on the topic).