Our customer identified a major pain point among youngsters in organizing events with their friends: inviting friends, making sure everyone has access to the same level of information and keeping track of who is going to attend was a mess. The existing solutions included Facebook events, Google Calendar or custom apps for specific events.
The most important part of our decision was connecting event attendees with businesses that offer services for holding an event. We were convinced that we have enough leverage to pull that off as we knew who wanted to spend money on what and where. Hence, we could easily match existing demand with free capacity at local businesses.
The Customer decided to develop and MVP and address both Android and iOS platforms at the same time. Considering limited budget and timeline, we used React Native for achieving faster outcome and easier code maintenance. Down the road we encountered a number of structural challenges as React Native community was still young and the libraries and tools selection was much limited. In order to overcome the challenge, we had to customize what was available and develop our own modules when applicable.
Another large challenge was building a flexible CI solution for Android and iOS and implementing Bitbucket and JIRA integration. It took us a lot of DevOps and coffees to set up a flow that would allow us assembling builds through XCode and Android SDK, composing changelog, marking them with correct versions and submitting to the Stores. Such system allowed saving up to 70% of time previously required to swap configs and build for various environments.
Special effort was dedicated to setting up and fine-tuning Firebase Cloud Messaging and SMS services to make sure the virality loop is enclosed and allows new users to easily bring their friends to the platform.