As someone who controls the resources for a non-profit I'm often finding ways to stretch money. As such I'd offer this advice...
1. College contests are a gold mine. Rather than pay a designer $1,000 to design your app post up flyers in the design department of your local college and offer a $300 prize for the best design. It's a great way to save money and you can often tap into $5,000 worth of talent from the students.
2. Don't use sites like scriptlance unless you're prepared to spec the project out very specifically. NEVER, EVER use them to do something you can't do yourself. In my experience sites for cheap labor will blow up in your face about 90% of the time so buyer beware (and if you do happen to find a quality person keep in contact with them outside the site)
3. Advertising really doesn't work that well when you're trying to get off the ground. There's just too much out there at this point. It's better to spend your time and effort contacting influential people. In my experience most people won't pay attention to advertising unless they've at least heard the name of the product through other means.
4. I can't say enough good things about Amazon's Web Services. If you have a lot of money there might be better options but for someone starting out with very little EC2 and S3 are great.
As for the programming itself the only advice I can offer is to do as much as you can by yourself. $3,000 a month really isn't all that much in the long term so time is the only resource you have in abundance. Most apps are relatively simple programming tasks that only get complicated when they have to scale. So even with rudimentary skills you should be able to do 80% of the work yourself.
Don't assume you have the skills now but the few hundred you spend on javascript and usability books could save you thousands if you put the effort into it.