Building a First-Class Communication Platform

  • Kevin Lester
  • Mar 01, 2019
Engineering

When your business is built around unlocking knowledge that can only be accessed via direct interactions, communication is key. Therefore, our Communications Engineering team is tasked with building a first-class communication platform to facilitate all forms of information exchange between our clients and experts. We’re also developing our next-gen platform to replace our outdated legacy system. Given that our clients are spread all over the world and we need to support email, voice, video, text, WeChat, etc. in areas with inconsistent quality, it’s quite the challenge.

Our legacy platform began as a hackathon project by one of our engineers (our engineers work on these projects during what we call ‘Sandbox Days’). The project was quite simple; a basic interface that would look up our clients’ contact details and set up a conference call with another specified individual. This project is valuable because it saves our client services team (CST) from manually setting up the calls between clients and experts, an action they typically do dozens of times a day. The prototype was demoed to a few CST members who immediately asked that it be put into production. By the end of the week, word of the new project had spread like wildfire and the prototype was soon inundated with users trying to use it. The tech team quickly made the prototype a first-class citizen and integrated it into our system for all CST to leverage.  Efficiency within CST soared and the extra time savings and focus led to increased calls, satisfaction and sales.

Fast forward a year or so and the communication platform was starting to develop some cracks. As the company expanded into new regions, our platform didn’t work as reliably in regions outside of the EU/US. The platform was really only as reliable as the carriers supporting it, and those carriers didn’t have great global coverage. Some regions only had one carrier with coverage, so when they had an issue, CST scrambled to find alternative communication platforms. Additionally, each new region had unique communication preferences that the platform did not initially support. Requests for features such as WeChat, video, and additional languages started rolling in and piling up. Finally, the platform’s performance started to deteriorate as the user base was no longer located in close proximity to the platform itself. Since the platform wasn’t originally built to handle the challenges associated with a global rollout, accommodating each new feature tended to break key assumptions made in the original platform design, leading us to realize that a re-write was necessary.

Given the above, the Communications Engineering team did away with the old system and is building our next-gen platform to provide a vendor-agnostic platform to accommodate AlphaSights’ current (and hopefully future) set of complex requirements. Written in Kotlin, the new platform is designed from the ground up to support new vendors as the business continues to push us into new geographic territory. This time, we eliminated any assumptions regarding the underlying technology through which we send our communications, enabling us to accommodate additional communication methods as necessary. Additional key requirements of the new platform are:

  • - Extremely low latency
  • - Ultra high availability
  • - Cost-conscious
  • - Self-optimizing 
  • - Easily extensible

This project is quite a fun challenge!

Sound interesting? It is! No existing global communication platform can solve the problems we are facing, so we’re in uncharted territory developing a comprehensive communication platform that can span the globe. Lots of challenges ahead, and we need help. That’s where you come in. If this kind of project sounds appealing to you and you have some development chops, we’d love to talk to you! Send us your resume on our Open Positions page.


Kevin Lester joined AlphaSights in February of 2018 and serves as Vice President of our Software Engineering team.