Must say, the hardest thing in app development for a non-programmer is finding a technical people or software to work with.
I’ve been through all the scenarios: paying a portion upfront and not receiving the full development. Working tirelessly with someone and getting a crap product, hoping you can pick it apart and salvage some of it. I’ve tried ‘do it yourself kits’ and abandoned them quickly. I’ve tried working with Indians, working with Romanians, working with Americans, all with varying degrees of success and many lessons learned.