Paul Graham’s short essay is dead right:
The best way to come up with startup ideas is to ask yourself the question: what do you wish someone would make for you?
There are two types of startup ideas: those that grow organically out of your own life, and those that you decide, from afar, are going to be necessary to some class of users other than you. Apple was the first type. Apple happened because Steve Wozniak wanted a computer. Unlike most people who wanted computers, he could design one, so he did. And since lots of other people wanted the same thing, Apple was able to sell enough of them to get the company rolling. They still rely on this principle today, incidentally. The iPhone is the phone Steve Jobs wants. 
Our own startup, Viaweb, was of the second type. We made software for building online stores. We didn’t need this software ourselves. We weren’t direct marketers. We didn’t even know when we started that our users were called “direct marketers.” But we were comparatively old when we started the company (I was 30 and Robert Morris was 29), so we’d seen enough to know users would need this type of software. 
There is no sharp line between the two types of ideas, but the most successful startups seem to be closer to the Apple type than the Viaweb type. When he was writing that first Basic interpreter for the Altair, Bill Gates was writing something he would use, as were Larry and Sergey when they wrote the first versions of Google.
Organic ideas are generally preferable to the made up kind, but particularly so when the founders are young. It takes experience to predict what other people will want. The worst ideas we see at Y Combinator are from young founders making things they think other people will want.
So if you want to start a startup and don’t know yet what you’re going to do, I’d encourage you to focus initially on organic ideas. What’s missing or broken in your daily life? Sometimes if you just ask that question you’ll get immediate answers. It must have seemed obviously broken to Bill Gates that you could only program the Altair in machine language.
Please continue reading…