I did so, at quite a profit. There are a lot of good programmers in India and Bangladesh happy to work for very low prices, and they love contracts with a straightforward "Build stuff, just copy from this example file".
Don't outsource the core. Assume that whatever they do, you're not going to touch the code and don't need to fix it. Cheap freelancers tend to be fast and messy, really ugly code. Don't ask them to make vital things like the API or database.
In general, the cheap ones from poor countries are terrible with design. They get fonts too big, too gray, etc, even when you give them clear instructions. Not judging, but it's just my general observation what to be careful about. But I find that fresh graduates and students can be very precise with design.
For me, the best thing to outsource was some R&D. Dragging a map marker on Google map. Integrating YouTube video into an app. Doing Facebook logins. You can probably get these done for as low as $15, especially with unproven freelancers who are happy to get a positive track record.
Upwork has been the best for me. It's a really bad environment for freelancers, which puts the buyer at an advantage. Be sure to test that they can read instructions - this can be as simple as asking them to repeat in their own words what the project requirement is.
The key to success is on how well you interview and filter people, so don't skimp on this.