Start with proven experience, not the number of logos on the website. Ask to see three or edtech development company four engagements that sit close to your technology stack, and then ask whether those engineers are still with the company. A serious vendor will put you on a call with the people who would work on your project. Vague answers at this stage usually mean you are talking to a reseller.
The paperwork deserves more scrutiny than the proposal. Three sections matter more than the rest: assignment of intellectual property, the NDA, and notice periods and handover. Everything produced must transfer to you on payment, together with documentation, industry specific software development pipelines and deployment scripts. Look closely at any clause that leaves framework code in the vendor's hands, because it is usually exactly the piece that locks you in.
Ask where their numbers come from. An honest estimate arrives with the assumptions behind it, a breakdown per feature and an explicit range. A fixed price only makes sense when the requirements are stable and documented; in any other case the provider prices the risk in and you pay for it anyway. Hourly billing shifts that risk to you, so it requires a cap, regular demos and transparent reporting.
How the work is run matters as much as the number of developers. Ask how change requests are handled, who signs off on a feature and what the QA setup looks like. A well-run team can demonstrate a working build every one or two weeks. Clear, written acceptance criteria stay the only reliable protection against the it-was-never-in-scope conversation.
Finally, think about the end of the engagement before it becomes urgent. Ask that the code repository lives in your organisation from day one, and that a readme and architecture notes are kept current as the code changes. A provider confident in its own work says yes immediately; resistance at this point says a great deal.