A number produced without questions is a red flag rather than good service. A competent team responds with a list of questions: about users and nodejs development agency volumes. A supplier that quotes before understanding the scope is probably guessing, and a guess resurfaces as a change order — on your budget.
Be wary of a gap between the people you meet and those who eventually appear in the repository. Ask for named engineers in the agreement, with a provision about substitutions. A vendor that will only describe a pool of resources and never names people is reserving the option to staff you with whoever is free.
Require access to the repository from the start. A partner that hands over a build only at the end of each phase is asking you to take delivery on faith. Visible commits tell you who is really on the project far better than a weekly report. The same applies to the build and deployment setup: if there is no pipeline, quality claims are nothing more than words.
Ambiguous wording in the contract around IP is rarely a formality. The contract must state in plain terms that all outputs produced under it become the property of your angular outsourcing company on payment. Look too at which country's law applies and the payment schedule: heavy prepayment with no deliverable attached eliminates your only leverage.
Last, look at the working rhythm. Establish how much working-time overlap there will be with your timezone, who handles day-to-day questions and on what response times. Some genuine overlap is normally sufficient; no overlap converts every clarification into a lost day. Sloppy written English in the early emails does not improve once the work starts.