Got inspiration from the fact that there are a lot of companies who handle nearly all of their customers over a voice call. Customer's decision of purchasing a product/service depends on how well they understood the product (sales call) and customer satisfaction depends on how quickly their issues were resolved when they faced one (support call).

A lot of companies do post-analysis of the call recordings so that they can serve their customers better in the future. But what about the customers who were not satisfied? By the time the analysis result comes in, the customer might have moved on to the next available company with a similar product/service (too much competition right?).

Is there anything that can help us to gain/retain the customers? Well yes, that's where the app Realtime Analytics comes in.

What it does

Realtime Analytics is an application that provides real-time transcription & sentiment analysis of a zoom call with monitoring options. So, whenever there is a call (sales, support, etc) it can be monitored so that you can evaluate the performance of your agent on call as well as how the call is going on (customer's sentiment) and all that in real-time.

Agents are the company's representatives who can be sales or support people and handles the customer over a call. Manager is the one who monitors the multiple (agent-customer) conversations and takes appropriate action as and when required (during a phone call)

Sentiment Analysis A manager is notified about the call's sentiment in realtime.

Realtime Transcription A manager can see the live conversation between an agent & a customer.

Realtime Actions A manager can send messages to the agent or can join the zoom meeting with a single click.

Call Summary A manager can see the conversation history of all the agents. An agent can see their own conversation history.

How we built it

A lot of features like connection to zoom call, real-time transcription & sentiment analysis were built using's APIs (Telephony & Conversation APIs). Other than that, I've used Node.js, Express.js, EJS, HTML, CSS, Javascript, Bootstrap, WebSocket & Firebase.

Challenges we ran into

Professionally, I am a backend engineer and have hardly worked on the frontend. When you have an idea in your mind, you start picturing how that application will interact with the user and how it will look. The conversation of that idea to reality without much frontend knowledge was challenging.

I was using the sentiment node js library for sentiment analysis and 2 days before submission, I realized that the results were not accurate enough to be used in this application. Sentiment analysis is a core feature of my application and hence I decided to use's sentiment analysis feature and started getting much more accurate and better results. The challenging part was, I had to replace the entire implementation of sentiment with's sentiment API. Thanks to this Symbl's twitch video

Accomplishments that we're proud of

I joined in the hackathon midway and from there conversion of concept to reality and doing the same with your full-time job, stretching up the things on weekends, learning new concepts, and finally completing the project, well, this all makes me feel proud.

What we learned

With all the tools, frameworks, cloud technology & languages that I've used to build this application, I've learned something new in nearly all of them. Got better clarity on WebSockets. Got a chance to work on Symbl APIs, ejs (never worked on that before). Refreshed my knowledge on Firebase (used it after 3-4 years).

What's next for Realtime Analytics

  1. The application currently supports call-over zoom and it can be extended to other voice channels like phone calls, Microsoft teams, etc. We can add features like extracting useful information from the live call (like customer details) using their name & number.

  2. Integration of other AI & ML services that can intelligently provide suggestions to agents on what to do or how to handle customers better.

  3. Integration of voice bot (or a hybrid model of agent & voice bot) that can be less expensive and potentially more accurate.

Share this project: