A number produced without questions is a bad sign. Any serious team will come back with questions first: about users and react development agency volumes. A provider that quotes with no clarification is guessing, and that guess will be corrected later — and you will pay seo agency for saas it.
Watch for any distance between the dedicated team vs freelance developer in the pitch and the people who will code. Request the names and CVs of the actual team in the agreement, with wording about substitutions. A vendor that will only describe a pool of resources and never names people is reserving the option to staff you with whoever is free.
Ask for the source repository from day one. A provider that delivers code only at milestones is inviting you to take delivery on faith. Daily commits tell you the actual pace far better than a slide deck. The same applies to the CI pipeline: if it does not exist, assurances about quality remain nothing more than words.
Vague wording in the contract around code ownership is never an accident. The contract needs to state explicitly that all outputs produced under it belong to your company on payment. Also check which country's law applies and the payment schedule: heavy prepayment with no milestone tied to it removes your only leverage.
Lastly, pay attention to communication. Confirm how much working-time overlap there will be with your working day, which person answers questions and how quickly. Four hours of overlap generally works; zero overlap turns a five-minute question into a day of delay. Unclear written communication in the sales phase rarely improves under delivery pressure.