I like to do a lot of different things. One of the things I especially like to do is build software that meets a certain set of simple goals:
1. Solve a problem.
I enjoy thinking about problems and ways to ‘fix’ things. I find myself saying, “what if”, “wouldn’t it be nice if”, and “someone should” a lot.
And, since I’m a programmer with access to a few small servers, my head almost always goes directly to how I think I could 'fix’ it with just a bit of software.
Often I consider the barriers so low that I figure I might as well test or challenge my theories by building a prototype and pushing it out to a few people to see and learn from their reaction.
This is how and why, over the years, I’ve hacked or prototyped over 100 personal projects.
2. Include a technically interesting challenge, but not insanely complex (at least on the surface).
Of course there are *a lot* of problems in the world that I think about which I never even attempt to build software to fix.
After all, even I don’t believe software alone is a magic bullet. The truth is some problems require a lot more brain power, effort, and energy than I have to spare.
So the ones that actually get me coding are the ones that I think I can either 'easily’ put together, that are just out of what I think I 'might be able to do easily’, or that I believe will be a great learning opportunity for me to improve my software development and problem solving skills.
At the end of the day, I want to push and improve my craft but I also want to actually fix and accomplish things (or at the very least, feel like I’m accomplishing things).
This is why, even though I’m excited about many ideas and challenges I’m presented with, and as pointed out above I do build a lot of different things, I don’t just blindly attempt to build anything someone throws at me.
3. Could potentially make money.
If you’re a regular reader, you’ve no doubt heard me down play money and my interest in it over and over through the years.
The truth is I actually *do* care about money, it’s just never my primary motivation or concern.
That being said, I accept that servers cost money and building stuff requires time (which costs money in one fashion or another).
So the idea that each project could, should, and probably needs to make money at some point (sooner rather than later) is always in my mind as I pick what to build or not.
The ideal situation in my mind is to have a project produce a profit almost as a side-effect. That is to not simply exist to make a profit, but rather figure out a way to make a profit so that you can exist.
So this is what I try to bake into my solutions and theories from the very start.
So the above is my litmus test for every personal project I start.
But what you might have noticed is that none of this really speaks towards ’building a business’.
And I talk a lot and think a lot about building businesses too.
Which is where I think a lot of confusion comes in from the 'outside’. My interests and my hobbies heavily mix with my chosen profession.
On the one hand this is a great thing as it means I have no problem spending hour-after-hour in the thick of these things, thinking about these things, and improving my overall skills. On the other hand, I’m also often labeled as ’unfocused’.
I think that’s because most assume I’m trying to turn every personal project into a business.
But the truth is, I’m not.
I’ll admit that many times at the start of a given project, especially as I think about ways that it might be able to at least fund itself, I let my mind wander a bit towards the grand vision and potential of it one day turning into a business. In many ways, that alone helps me to figure out just how/if I can make it work on a small self-sustaining scale.
But the majority of the time, and especially after digging into more of the research, data, and experience of a given project I discover that my initial passion and curiosity for the 'problem’ has been mostly satisfied.
If at that time, the project has built up a set of loyal users, is self-sustaining, or just doesn’t really hurt me in anyway to keep live…I generally do. greentile.com, halfbite.com, pu.ly, and knowabout.it are all good examples mostly at this stage.
Still, every once in a while a project will come along that really excites me for one reason or another and then I do spend a bit more time, energy, and thought about turning it into a real business.
When I get to that stage, my mind becomes consumed with two additional crucial elements:
1. Mission compelling enough to be willing to suffer and struggle through most anything to achieve it.
2. What highly qualified team can I put together around this mission?
They seem simple enough, but they are really just like Matryoshka dolls, and I struggle endlessly with them.
But the bottom line is, no matter how interesting or useful a project is, until I have solid answers for the above two questions, it has no shot of being a business and remains at best an ’interesting project’.
For example, I’ve spent much of my free time over this last year struggling with these two things as they relate to gawk.it.
I’ve positioned, re-positioned, added features, removed features, and re-positioned again and again through the past twelve months trying to find and define the proper core mission (that motivates me enough to need to turn it into a business).
Honestly, I haven’t nailed it yet.
And until I do, I can’t define the perfect team (let alone try to assemble it) and gawk.it simply remains an interesting project with great potential…but not a business.
This post has received 35 loves.
Kevin has a day job as CTO of Veritonic and is spending nights & weekends hacking on Share Game Tape. You can also check out some of his open source code on GitHub or connect with him on Twitter @falicon or via email at kevin at falicon.com.
If you have comments, thoughts, or want to respond to something you see here I would encourage you to respond via a post on your own blog (and then let me know about the link via one of the routes mentioned above).