An estimate that arrives instantly is a red flag rather than good service. Any serious team returns a list of questions: aso campaign services about users and volumes. A supplier that commits to a figure with no clarification is working from a template, and a guess becomes a change request later — on your budget.
Be wary of any distance between the people you meet and the people who will code. Ask for specific people rather than roles in the agreement, with a clause covering replacement. A provider that only offers roles and never names people is keeping the right to assign anyone it likes.
Insist on the source repository from day one. A partner that hands over nothing between demos is asking you to trust a black box. Daily commits reveal the actual pace far better than a weekly report. The same applies to the CI pipeline: if there is no pipeline, assurances about quality remain unverifiable.
Vague wording in the contract around intellectual property is rarely an oversight. The document must state in plain terms that all deliverables belong to the client upon settlement of the relevant invoice. Look too at the governing law and the payment schedule: heavy prepayment with no milestone tied to it takes away any leverage you would otherwise keep.
Finally, examine how they communicate. Establish what overlap the teams will share each day, software development rates who answers day-to-day questions and on what response times. Some genuine overlap is normally sufficient; none at all turns every clarification into a lost day. Sloppy written English in the proposal will not improve once the work starts.
