When we were approached by Envoy AG, a Switzerland based startup wishing to develop a brand-new professional B2B networking platform, they were looking for a technology partner who could provide end-to-end product development and ongoing support services for the proposed platform, including technology advisory and design services. Envoy was started by several accomplished entrepreneurs having successful track records in starting up and successfully leading international business consulting services. Through their experiences, they came to the realization that there were no professional B2B networking applications that catered to the discerning professional who wanted to gain meaningful insights into their network of people and drive positive business outcomes arising out of those insights.
Besides technology expertise, they were also looking for an organization with a successful track record in product development and above all, an open, trustworthy and committed partner. That Envoy chose us for the endeavour was a testament to our core capabilities and operating principles.
We addressed the following challenges while designing the solution.
Due to prior expertise with developing products in the social media domain, we were able to effectively meet the challenging timelines for recommending an open source technology stack as per client's technology roadmap for the different application components, and obtain their buy-in. The technology architecture that was put together for the pilot phase functioned as a base to build the product upon, which greatly contributed to the ability to rapidly build out the product features after the pilot phase. We rendered the following services as part of building out the platform:
Conducted rapid and fully-immersed analysis & design sessions with product stakeholders to come up with initial wireframes and UX designs and iterated until initial baselined design was agreed upon. This provided the template for ongoing additions to the product where the same approach was adopted to arrive at UI design.
One of the first decisions that had to be made and agreed upon with Envoy's stakeholders was regarding execution methodology. Agile methodology was chosen with the goal of shortest time from idea to implementation for the product's features and also to react very quickly to market landscape and user feedback regarding the product's features. Close collaboration throughout the development and ongoing enhancements, between the product stakeholders and the development team was a defining feature which enabled the success of the project. Tools enabling cross-geographic collaboration such as JIRA & Wiki as well as continuous integration tools to enable automation of builds and deployments were also incorporated very early during the project. Adoption of DevOps best practices also contributed to optimizing and streamlining product development practices and consequently costs of building out and ownership of the platform.
Scalable architecture for the backend and easy extensibility of data model were the top considerations. Keeping these in mind, Java was selected for implementing the application layer, a multi-layer DB involving traditional SQL, Graph database and NoSQL database along with caching mechanism was implemented.
A mobile first approach was also a required design consideration which resulted in full featured applications available natively on iOS & Android. The apps utilized push notifications in order to support features like real-time messaging to connections, notifications for important activity within user's network etc., apart from ability to import phone book contacts.
Once the pilot was implemented and tested, there was growing need to setup and administer multiple environments starting with development, testing, staging and Production environments. Besides server administration tasks such as adding and removing servers to clusters, applying patches etc., some of the key activities included running tests to baseline user load based on expected user behaviour models, tune the database and various server parameters and arrive at optimal configuration in order to balance performance and cost of platform ownership and support zero-downtime goal while deploying changes to Production.
Right from the pilot phase, testing as a best practice was built into the project execution methodology. Testing included functional testing, regression testing, acceptance and performance testing. For performance testing, the testing team came up with models simulating user behaviour patterns and generating scripts to generate loads using tools such as jMeter and Gatling.
Analytics included plugging in Google Analytics and also building custom modules to integrate with cloud-based Microsoft PowerBI platform in order to provide product stakeholders with roll-up information on user activities such as sign-ups, activity summaries by time period, geographic break up of user activity etc. This allowed the stakeholders to gain better insights into usage patterns of the still-evolving platform, empowering them with facts to make decisions on the product's features and marketing strategy.
Integration with several third party components and applications were also achieved to meet functionalities and optimize effort. This included utilizing Google's map capabilities, integrating with other social media platforms such as Twitter and Google, e-mailing applications, payment and subscription management applications to support premium / paid features etc.