Business Productivity

Topdanmark builds screen sharing tool using AWS Communication Developer Services (CDS)

This post was co-written with Pramod Amarnath Jingade, Senior Developer and Rasmus Thorup Windfeldt, Solution Manager at Topdanmark

Topdanmark is one of Denmark’s largest insurance companies, established in 1899 and today offers a wide range of insurance products for both private individuals, business and agriculture.

In this post, we will explore how Topdanmark used the CDS services Amazon Chime SDK and Amazon Simple Email Service (SES), together with AWS Lambda to build an online meeting solution which assisted Topdanmark employees with product presentations and increased revenue during the COVID-19 lockdown.

During the COVID-19 pandemic, in-person meetings were not an option and Topdanmark realized that they needed to find a solution that was simple to use and fast to develop. This led Topdanmark to consider AWS Communication Developer Services (CDS) as a customizable remote meeting and communication solution.

Before selecting AWS Communication Developer Services, Topdanmark experimented with multiple proof of concepts for an online meeting solution and evaluated multiple WebRTC solutions. However, most solutions available required customers to install an application on their systems. This wasn’t an option for Topdanmark, as it could lead to lengthy support calls with customers to assist in setting up the online meeting platform. Instead, Topdanmark wanted to provide customers with a simple link to start a meeting and share the sales person’s screen with the customer.

To achieve this smooth user experience, Topdanmark selected AWS Communication Developer Services to develop a solution that enables sales representatives to generate a meeting link then send it to their customer via email. With one click, the customer can enter the screen sharing meeting from their web browser without the need to download an app or special software. Topdanmark built internal web applications with accommodating graphics suited for screen sharing. This web application helps sales team visualize the different product options during the screen sharing session. When the meeting ends, customers receive an offer by email automatically and a link to sign the agreement digitally.

Topdanmark went live with the solution in the beginning of 2021. Since then the conversion rate on sales meetings has increased by 5 percent and the number of meeting cancellations has decreased by 12 percent. On top of that, the average order size has shown to be significantly higher in an online meeting. Based on customer feedback, 9 out of 10 customers have answered that they are “very satisfied” with the online meeting experience and the majority of customers have also stated that they prefer online meetings over regular in-person meetings.

Solution Overview

The Screenshare solution can be broadly categorized into two areas, a Backend Application Programming Interface (API) and a Frontend User Interface (UI).

1. Backend Architecture

The Backend API is a lightweight RESTful service, which consists of the following two main resources:

  • Meeting – to create and access an Amazon Chime meeting.
  • Email – to send an invitation email to the customer.

Each of the endpoints – “/meeting” and “/email” are mapped to AWS Lambda functions (written in Node.js). There are three AWS Lambda functions in total:

  • create.ts: Creates an Amazon Chime meeting by calling the Amazon Chime API and generates a unique “meetingId”. The “meetingId” is stored in Amazon DynamoDB and sent back in the HTTP response body.
  • get.ts: Retrieves meeting details from Amazon DynamoDB using the “meetingId” provided as query parameter in the HTTP request.
  • email.ts: Sends an invitation email with meeting details to the customer by using SES.

Creating an online meeting using the Amazon Chime API is simple. To illustrate this, the following code snippet :

import {
  ChimeSDKMeetingsClient,
  CreateMeetingCommand,
  CreateAttendeeCommand
} from "@aws-sdk/client-chime-sdk-meetings";

const config = {
  region: "us-east-1",
};
const chimeSdkMeetingsClient = new ChimeSDKMeetingsClient(config);

async function createMeeting(requestId) {
  try {
    const meetingInfo = await chimeSdkMeetingsClient.send(
      new CreateMeetingCommand({
        ClientRequestToken: requestId,
        MediaRegion: "us-east-1",
        ExternalMeetingId: randomUUID()
      })
    );
    return meetingInfo;
  } catch (err) {
    console.info(`Error: ${err}`);
    return false;
  }
}

2. Frontend Architecture

The frontend architecture is simply two frontend applications deployed to two separate domains.

  • Advisor Application: used by advisors to schedule an Amazon Chime meeting and send an invitation email.
  • Customer application: used by customers to join an Amazon Chime meeting.
Screenshare High Level Architecture

Screenshare High Level Architecture

Advisor Application

The Advisor application makes use of the POST /meetings endpoint to create an Amazon Chime meeting and the POST /email endpoint to send the meeting link via email to the customer.

Customer Application

The Customer application is a single-page application, which reads the “meetingId” from the meeting link and allows the customer to join the screenshare.

Screenshare UI Architecture

Project Details

Three developers from Topdanmark went from a design concept to a production-ready solution in less than four months. The team used Infrastructure as Code (IaC) powered by TypeScript and AWS Cloud Development Kit (CDK) to provision the components of their solution.

Conclusion

In this post, we explored how Topdanmark were able to find a solid solution design to overcome their challenge of having a screen sharing solution that is easy to use and doesn’t need extra installation steps by the users. With minimal effort and in less than three weeks, Topdanmark was able to design and build a proof of concept solution, and went live to production in less than four months from the start of the project.

AWS CDS enabled Topdanmark to provide customers with a smooth transition to online meetings during the COVID-19 lockdown. This helped Topdanmark provide their insurance services in a time where they were in great demand due to the pandemic and ultimately helped employees sell products and boost revenue. Topdanmark is still using the solution which is considered a good tool that give Topdanmark’s advisors and customers a great online experience.