- For slightly more legal protection, the code should be in YOUR OWN git repo, not the dev agency's repo
- If you are giving some upfront $ or milestone payment, you should also contractually now own the code up to that point in time
- You should not declare a milestone success (and should not pay) until you can independently compile the app straight from git (front end and backend) (Also, watch out for hard-coded domains where you are secretly pointing to their backend and not to your independently compiled one)
- App QA should ONLY be on the version of the app where you compiled/deployed the full stack yourself
- You should deploy the app into your own cloud to ensure you actually have all the pieces. Super extra credit: Build Terraform/Ansible/Chef into the SoW and final payment should depend on deployment into your own environment by YOU (not the agency)
- You should learn how to build/compile/deploy yourself or hire an independent person (not the devs) who can do this for you
That said, I did present two ideas for those who want to venture into this:
- You recognize that the "success" you have in the working app isnt actually a success and plan accordingly
- You hire someone independent who keeps the third parties honest
Another one:
- You cut corners, get a working demo, raise good VC funds and hire a well-compensated technical co-founder or founding engineer who is compensated sufficiently to be happy short term and has sufficient equity to want long term success
But the whole discussion was what non-technical founders would do, and this is probably the second-best advice I could give. Moreso, to recognize the myriad risks and understand things arent quite as easy as posting a project on Upwork.
The first-best advice I could give is to get a technical co-founder.