Look first at relevant experience, not the size of the portfolio. Ask to see a couple of engagements that match your domain and your stack, and then ask whether those engineers are still with the company. A solid partner will put you on a call with the people who would work on your project. Vague answers at this stage generally mean the demo work came from somewhere else.
The contract warrants a slower read than the pitch. Three clauses do most of the work: assignment of intellectual property, confidentiality, retail ecommerce platform development company and termination and handover. Every artifact should transfer to you as it is paid for, together with designs, scripts and infrastructure configuration. Be careful with wording that keeps so-called reusable libraries in the vendor's hands, because that is often exactly the piece that locks you in.
Ask how they estimate. An honest estimate comes with a list of assumptions, a breakdown per feature and a range rather than a single number. A fixed price only makes sense when the specification is complete; otherwise the provider prices the risk in and you pay for uncertainty either way. Hourly billing moves the risk back to the client, so it needs visible weekly reporting and a spending cap.
The delivery process beats team size. Establish what happens when the scope changes, software product development company who signs off on hire a development team feature and what the QA setup looks like. A team can show you a live build at the end of each sprint. Clear, written acceptance criteria stay the only reliable protection against endless rounds of rework.
Last, think about the handover at the start rather than at the end. Ask that the repository lives on infrastructure you own from the first commit, angular consulting services and that documentation is updated as part of the work. A partner who is comfortable with this will agree quickly; hesitation here reveals quite a lot.