A number produced without questions is a bad sign. Any serious team returns clarifying questions before any number: about users and volumes. A provider that commits to a figure before understanding the scope is simply working from a template, and a guess will be corrected later — and you will pay for it.
Look out for any distance between the engineers on the sales call and those who eventually appear in the repository. Request the names and CVs of the actual team in the contract, with a provision about substitutions. A provider that talks only about abstract roles and never names specific engineers is reserving the right to assign anyone it likes.
Insist on the source repository from day one. A team that delivers nothing between demos expects you to trust a black box. Daily commits show you the actual pace far better than any status report. This extends to the automated test suite: if nothing runs automatically, assurances about quality are just talk.
Loose wording in the contract around IP is not an oversight. The agreement should state plainly that the code, designs and documentation become the property of your business on payment. Look too at the jurisdiction and the payment schedule: a large upfront payment with nothing due in return for weeks eliminates your only leverage.
Lastly, ecommerce development services pay attention to the working rhythm. Confirm what overlap you will share each day, react native software development company which named person answers questions and within what time. Four hours of overlap generally works; zero overlap turns a five-minute question into a twenty-four hour round trip. Sloppy written English in the early emails will not improve later.