Instant Scheduling

  • Nicolas Bonnefon
  • Mar 04, 2019
Engineering

The associates who form the core of our Client Service team perform AlphaSights’ magic day in, day out. Those clever, ambitious professionals have an exciting job; they engage in deep research on the most improbable topics, forge relationships with powerful figures of various industries, and help inform business decisions. However, while spending a day at their desk, we discovered an unexpected feature of the job: after the hard work is done and a call has been agreed on, our associate will often embark on a somehow dull dance of getting availability, proposing it to the other party, getting another round of availability, and going back and forth until a date and time can be agreed upon!

Us techies were excited to tackle this problem! With two or more parties that are typically very busy, as well as strict compliance rules that limits direct communication between parties, we realised quite a bit of thought was needed to make our scheduling system our associates’ new best friend.

Our initial approach was to gather availability from the expert via a micro-website and propose time slots to our client via a second micro-website with a personalised link in an email. As we're integrating our services into the workflow of busy professionals, flexibility is key and many alternate journeys are allowed. We also offer our associates the option to step in and control the process at any point, in order to cater to our client and expert preferences.

In typical AlphaSights fashion, our pod of five was given full autonomy and responsibility on the project end to end, including front-end, back-end service, testing, trialing (beta testing), and of course product definition and conception. We chose to use React for the client micro-website, in part to experiment with a technology which was still new to AlphaSights at the time. On the back-end, we stuck to our tried and trusted Ruby on Rails as we were integrating very tightly with the core delivery app.

Most of us like to touch all areas of the stack so we tend to split the work vertically based on functionality rather than focusing on a specific layer. So I would typically put my name up for a story (say “allow attendees to be optional”) and make all the changes to the database, the back-end logic, our GraphQL layer and the front-end. That would often include a wander to the other side of the office to ask a couple of associates what they really want!

After about six months and a couple of initial false starts while discovering the domain, we delivered Instant Scheduling to the whole Client Service team and to all our external clients. Our Product Manager spent two weeks introducing the feature to our offices around the globe and soon the indicators skyrocketed! Our Slack channel filled up with emojis and we even heard the occasional “game changer” in the kitchen. The feature now saves hundreds of hours every month and frustration from our clients, as well as lets our associates focus on what they do best: finding the world’s best knowledge!

For the pod, it is now time to get more acquainted with Kotlin and brush up on architectures with heavy use of message brokers. We can’t wait to get started!


Nicolas Bonnefon joined AlphaSights in September of 2018 and serves as a manager on our software engineering team.