I run an outsourcing site called www.staff.com and am an expert on business process modelling for remote teams. I'd love to talk about how to get people started on remote labour and scaling teams.
I would ask a few questions up front.
1. Is this a one time project?
2. Will this project need updating in the future?
3. Have you done any outsourcing before?
4. Are you sure you can manage the project within that 4 month period.
You can definitely get a firm to outsource your project for you at between 20-40 dollars an hour. However, if you just hire remote employees full time it will usually cost you half the price of the firm and you'll be able to manage the people yourself, won't be abandoned when the project is 'done' and can have them refine features as your needs change.
Staff.com runs on a completely remote model. We don't have any outsourced employees, only remote employees (I define a subtle distinction between the two). Outsourced employees usually work through a firm or work on a project by project basis. Remote employees are like regular brick and mortar employees except they aren't in your office. You need the later not the former. Only hire people who want to work on your project. You may still have to do some outsourcing (i.e. if you don't need a full time designer but only need a few hours a month done then that's fine to outsource) but anybody that works more than 80 hours a month for you should be hired on full time and commit. This is cheaper, more efficient and usually faster to scale then the office model.
Instead of outsourcing development, take those people on directly as remote employees. If you're doing anything more than a multi month project the costs are significantly cheaper (2-3 times cheaper than outsourcing it to a firm) in comparison to taking those developers on full time. I personally would not 'outsource' core development as you'll need them for years afterwards. Let them stay remote but take them on full time.