You probably shouldn't hire extremely cheap programmers if you want a product that, besides barely functioning, is also extensible and scalable.
No matter what country your programmers are from, if they have spent enough time working on various projects to know what they're doing, they probably also know what they're worth.
If you spend an hour every day reviewing the code and making design decisions, you could very well hire monkeys and they would come up with good code. You have to micromanage the code to get good results.
I'm not the one who modded you down, but... I'm having trouble seeing how this would work. What do you do if the code isn't up to par? Are you willing to basically pay - with both cash and time - for the privilege of educating the programmers you're using until they're up to your standards? Or to throw away their work and look for better programmers, possibly ad infinitum? Rewrite parts of the code yourself?
I haven't outsourced any projects so far. I have, however, worked on a project launched with an off-the-shelf script - it definitely saved time and effort upfront, but the code is far from great, so it's been more frustrating over time. I still haven't decided whether the tradeoff was worth it.
Have you actually used this strategy yourself, and if so, how did you make it work?
What I do is this: model the part of the project you want with uml and write the function names. You solve the bulk of the design issues and all the coder has to do is fill in the functions. The skill lies in writing function names and descriptions that pretty much guarantee that he can hardly do wrong.
Do you really believe that? The implementation requires skills too, and without those skills, you get terrible and buggy code, even if it uses pretty names and if it follows your descriptions more or less.
No matter what country your programmers are from, if they have spent enough time working on various projects to know what they're doing, they probably also know what they're worth.