How did you select this vendor?
As mentioned in an earlier response, we learned about Software Mansion because some of its people are well regarded in the React Native community. It was easy to find the people as everything is open source, and we can see who the main contributors are. We had discovered the people first, then discovered Software Mansion.
We cared about finding the right people first, instead of rushing to find any dev shop. We had compared 3-4 other shops, some of which also had good people from the React Native community, but who we knew were already fully dedicated to other teams. In the end, we decided to go with Software Mansion because of this respect in the community they had garnered for their talent.
We trusted the quality of the work would be high, as well as motivating for the engineers who partnered with us since they wanted to give back to the open source React Native community, for which our projects would be pushing the cutting edge. We also could define a flexible agreement at very reasonable costs. The whole founding team (just the 3 of us) was involved in the selection process.
Describe the project in detail.
We really enjoy working with Software Mansion, and so we decided a continuous engagement would make sense for us, as there is more than enough work to go around. Even though we have recently made our first hire, we still want to continue working with Software Mansion. Of course, once we grow the team big enough, this may need to change, but for now, this allows us to focus on finding the perfect talent for our team.
With Software Mansion, we didn't have a limited scope of projects - we just had a stream of new features and technical requirements for the capabilities of our codebase (getting our mobile app to do complex navigations and gesture handling, etc). Our design process is mostly on Sketch + Figma, which we share with the developers as new features are announced.
We also enjoyed the fact that the engineers we worked with would take on ownership and make decisions about the product, after understanding the extremely high UI standards we have for a shippable feature. The platforms we developed for thus far were mostly iOS using React Native, but we have recently been working on getting our app working for Android. We have not received any other services from Software Mansion outside of engineering.
What was the team composition?
Ultimately, we were provided with 2 engineers and 1 project manager. It had started out with 1 engineer, then because our scope had increased, we hired 2 more engineers (1 more full time, 1 more part time). At a certain point, we were giving some of these engineers tasks that were "ahead" of our current timeline, but we later realized this was a tricky situation to manage, as these new features would sit around for a while to get merged, and that in itself required more overhead.
So we decided to slow down and not get too ahead of ourselves, instead focusing everyone on "current" issues. We ended up not needing the 3rd engineer as we decided to be more disciplined about our scope. We've had 2 engineers steadily since then. The project manager came in at some later point, as Software Mansion felt the role would be helpful and asked us about how we thought about this.
We felt especially comfortable with this because the project manager's time was not an additional cost for us. It was a win-win because communication could be eased, without the stress of extra costs when our main priorities were for shipping the product (and getting as much engineering help as possible.)