No offense meant to the author, but he sounds like a bad client and personally I'd turn him down in a second.
The problem with being both penny-pinching and feature crazy is you will quickly scare away the people who know what they're doing and can actually get your project done. This leaves you the people desperate enough for work that they're willing to put up with you.
If you approach the collaboration as if you were haggling with a car salesman for a better model, it won't matter whether you outsource or go local, capable people (who are generally in demand and can afford to decline clients, regardless of where they're based), will sense that you aren't worth the hassle and wait for something better.
The way to get good work done is to pay well, give clear directions about what you want, and most importantly, limit the goal to a core set of features that are realistically achievable in the proposed budget and timeframe. This is actually the cheapest and most reliable way to obtain something decent that works well in a reasonable amount of time.
Underpaying is much worse than overpaying. When you overpay, you can be more confident in the estimates you get and that the quality will be there, and the developers will be more motivated to do a good job for you (which can be critically important). Underpaying gets poor quality, will make the project take much longer if it even survives, AND the people responsible for your entire system will rush through it and might even have a grudge against you due to previously mentioned penny-pinching and feature crazy habits.
Summing up: aggressively seeking the most features for the lowest rate will paradoxically net you a poor result with a large bill.
The problem with being both penny-pinching and feature crazy is you will quickly scare away the people who know what they're doing and can actually get your project done. This leaves you the people desperate enough for work that they're willing to put up with you.
If you approach the collaboration as if you were haggling with a car salesman for a better model, it won't matter whether you outsource or go local, capable people (who are generally in demand and can afford to decline clients, regardless of where they're based), will sense that you aren't worth the hassle and wait for something better.
The way to get good work done is to pay well, give clear directions about what you want, and most importantly, limit the goal to a core set of features that are realistically achievable in the proposed budget and timeframe. This is actually the cheapest and most reliable way to obtain something decent that works well in a reasonable amount of time.
Underpaying is much worse than overpaying. When you overpay, you can be more confident in the estimates you get and that the quality will be there, and the developers will be more motivated to do a good job for you (which can be critically important). Underpaying gets poor quality, will make the project take much longer if it even survives, AND the people responsible for your entire system will rush through it and might even have a grudge against you due to previously mentioned penny-pinching and feature crazy habits.
Summing up: aggressively seeking the most features for the lowest rate will paradoxically net you a poor result with a large bill.