Look first at proven experience, not the size of the portfolio. Request three or four engagements that resemble your technology stack, and then find out who actually wrote that code. A serious vendor is happy to connect you with the people who would work on your project. Vague answers at this stage generally mean you are talking to a reseller.
The paperwork deserves more attention than the sales deck. Three sections matter more than the rest: assignment of intellectual property, the NDA, and exit terms and handover. Everything produced has to transfer to you on payment, .net core cross platform development together with documentation, pipelines and deployment scripts. Look closely at wording that leaves so-called reusable libraries with the vendor, since this is frequently exactly the piece that locks you in.
Ask where their numbers come from. A serious estimate comes with a written set of assumptions, a breakdown by feature or module and a range rather than a single number. A fixed price is only reasonable when the specification is complete; in any other case the provider pads the number and you pay for it anyway. Time and technical seo services materials shifts that risk to you, so it demands visible weekly reporting and a spending cap.
The delivery process beats team size. Ask how change requests are handled, who signs off ruby on rails vs laravel a feature and how quality assurance works. A team will be able to walk you through a live build at the end of each sprint. Written acceptance criteria stay your only real protection against endless rounds of rework.
Finally, think about the day you no longer need this vendor while the relationship is still good. Ask that the source repository lives on infrastructure you own from the first commit, and that a readme and architecture notes are kept current as the code changes. A partner who is comfortable with this says yes immediately; hesitation here tells you a great deal.
