There are three broad classes of clients:<p>- The Newbie has never hired anyone to do this sort of job before. They don't know what to expect, and they don't know what it will cost. They may not even have an idea of how much the work is worth to them. They do know that there will be a bill, but they haven't matured into either of the other two types yet.<p>- The Black Hat is a malicious client. They will try everything they can to exploit you for their own benefit, while giving up as little as possible in return. These are the people who ask for work for free, ask for fixed cost projects with unlimited scope, and dodge your invoices.<p>- The White Hat is the client you actually want. They have hired people like you before; they know what it costs, and they know how much value they to receive up front. They have reasonable specs, or a loose spec that they work with you to define tightly before they ask for a commitment. They have a preferred deadline and a drop-dead date, and they tell you about both of them.<p>Your goal is to identify White Hat prospects and avoid the other two. Sometimes a Newbie will develop into a White Hat, but they will always take more hand-holding and reverse-management than a mature White Hat. As a single-person operation, you don't have the resources to take care of them efficiently.