An estimate that arrives instantly should be treated as a red flag rather than good service. A competent team will come back with clarifying questions before any number: about users and volumes. A provider that prices without asking anything is pricing a guess, and the gap resurfaces as a change order — at your expense.
Be wary of a mismatch between the people you meet and edtech software development those who eventually appear in the repository. Request specific people rather than roles in the agreement, with wording about substitutions. A vendor software development companies in united states that talks only about abstract roles and will not commit to people is keeping the option to staff you with whoever is free.
Require commit-level visibility from the first week. A partner that shows code only at milestones is inviting you to trust a black box. Regular commits and pull requests tell you the actual pace far better than a slide deck. This extends to the build and deployment setup: if nothing runs automatically, quality claims remain unverifiable.
Vague wording in the contract around IP is never an accident. The contract needs to state explicitly that all deliverables belong to your business as they are paid for. Check also which country's law applies and the milestone terms: a request for most of the money up front with no milestone tied to it takes away the only leverage you have.
Lastly, look at how they communicate. Establish what overlap you will share with your working day, which person is expected to answer day-to-day questions and within what time. A few hours of overlap is normally sufficient; none at all turns every clarification into a lost day. Careless writing in the proposal does not improve later.