Working as a freelancer, I receive many weird, invalid or incomplete requests from the actual or potential customers. The most frequent case is this one:
Hi,
I need a website where people can register and there are also postings and ratings. How much will it cost to me?
Thank you.
The request sucks, but it doesn't mean that a customer like this is not worth it. This person doesn't know how to make a request correctly, but with a bit of effort and a bit of learning and advice, this person may become a valuable customer who will not waste my time.
For a while, I just replied by asking to provide details. They never do.
Recently, I decided to reply in a more detailed way, explaining why is it impossible to give a price (except telling that it would be somewhere between $500 and $50 000). First I just made a simple explanation, telling that their description of the project is too sparse. Then I added further info, metaphors, etc., or by making comparisons with other domains which are better known by people with no technical background. For example:
“Imagine you want to build a two-storey house. Do you believe it's possible to determine the cost of building a house just by knowing the number of storeys? You probably need to provide much more details: is it built with rock or wood? Are there solar panels on the roof? Is there a swimming pool in the backyard?
A large Victorian-style house using the newest technologies, with two garages, a large terrace, etc. will cost much more than an tiny modest two-storey house for a family who really don't have too much money to spend.”
It's still not working: those potential customers never respond.
I also tried the "let me gather the project requirements for you from scratch and do the specification and architecture, but don't forget to pay me for this" technique, but it looks like scam¹. In all cases, in my country (France), this never works with new customers for several reasons.
Some hints show me that some of those people actually succeed finding a developer and succeed with their project. It means that my approach with those potential customers fails, while there is one approach used by someone else which works well.
How to reply to such price requests, considering that those people don't know me, don't trust me yet, don't want to spend days writing a detailed document describing every functionality of the project, and sometimes don't even know precisely what they want, but are not ready to pay you thousands of dollars just for requirements, specification and architecture steps?
¹ Most projects are small enough and have tiny funding; most customers don't bother to know that the source code is clean and maintainable, that it was regularly refactored, and that you have unit and integration tests. They want to pay less, now, no matter how expensive it would be later to maintain the codebase. In this context, talking about functional and non functional requirements, architecture etc., is perceived like the attempt either to waste half of the customer's money doing marketing jibber-jabber instead of writing code, or to scam them by making them pay for something they don't need nor understand, and then disappearing with their money when it will come to actually writing source code. They don't know that you are a professional, and they even don't care.