Look first at proven experience, not the number of logos on the website. Request two or three engagements that resemble your stack, and then find out who actually wrote that code. A solid partner will put you on a call with the people who would work on your project. Vague answers at this stage almost always mean you are talking to a reseller.
The contract needs more scrutiny than the proposal. Three clauses do most of the work: intellectual property assignment, non-disclosure, and termination and handover. Everything produced has to transfer to you as it is paid for, hire nuxt developers along with designs, scripts and infrastructure configuration. Watch for language that keeps framework code outside the transfer, since it is usually the dependency that makes switching painful.
Find out how the estimate was built. A serious estimate arrives with a written set of assumptions, a breakdown per feature and a range rather than a single number. A fixed-price contract works only when the scope is genuinely frozen; when the scope is still moving the provider pads the number and you pay for it anyway. A time-and-materials model shifts that risk to you, so it demands a sprint cadence, demos and a budget cap.
The delivery process matters more than team size. Find out how change requests are handled, who writes the acceptance criteria and how testing is organised. A well-run team can walk you through running software development pricing rather than status reports. Written acceptance criteria remain your only real protection against an argument at delivery time.
Finally, think about the handover at the start rather than at the end. Require that the code repository sits in your organisation from the beginning, and that a readme and architecture notes are kept current as the code changes. A provider confident in its own work accepts it without argument; resistance at this point tells you quite a lot.