Two members of the WebRTC.ventures team, Hamza Nasir and Justin Williams, participated in TADHack 2020 Chicago/North America earlier this month. Their hack was to create a CPaaS solution for a more organized and efficient way to handle missed calls when you’re away from work using AI. They came home with the Symbl.ai prize!
Brainstorming
Due to COVID, this year’s hackathon was fully remote. The team worked from home, using Slack and GitHub to communicate and host the code.
Before the event, TADHack announced the sponsors’ software which would be available to be used for the hacks. Among these were some really great CPaaS’s to choose from: Avaya, RingCentral, Simwood, and Intelepeer. Sangoma also provided great support and documentation for the “open source PBX” Asterisk.
While each CPaaS provided the same general functionality (PSTN termination, webhooks, etc.), they all had some uniqueness to suit slightly different needs. For example, RingCentral seems to focus on providing the best Call Center experience for employees and customers. Intelepeer provided a great UI to drag and drop call workflows.
The sponsor that took our keenest interest, however, was Symbl.ai. Symbl.ai provides a conversational intelligence API that integrates with many forms of conversation including video calls, PSTN calls, SMS, and more.
The Idea
Our idea was a simple web service to help make work life easier by answering calls for you if you are busy or shutting down from work for the day. The web service acts as a secretary and would play a prompt to the caller informing them that you are unable to take the call. Then, it would ask you to leave a summary about why you are calling.
Symbl’s state of the art Natural Language Processing system can highlight key features of interest called “insights” from text. These insights include things like action items, questions, follow-ups, and intents. Symbl also provides the user with a UI that timestamps a transcript of the call linked with these insights.
The final touch was to have the web server organize a video call for a later date where you can get back to the caller. After the caller leaves the summary with the Symbl.ai call, the web service will generate a link for a webrtc call and then send that link to both participating parties.
The Implementation
Avaya OneCloud was the chosen CPaaS used to facilitate the telephony functionality. Avaya’s APIs were very intuitive (as VoIP/telephony developers). They were low level enough for us to understand the functionality quickly, yet powerful enough to get us building right away.
Nodejs with hapi was used to build the web service. Avaya provides a nice nodejs library (@avaya/cpaas) which integrates very nicely with hapi. The library provides APIs to create XML responses to Avaya’s webhooks and to invoke APIs on the Avaya CPaaS telephony platform.
Here is a high level diagram showing the workflow of the web service:[/vc_column_text][vc_column_text]
A solution for a more organized and efficient way to handle missed calls when you’re away using AI.
[/vc_column_text][vc_column_text]
Pitch and Demo
The following is our pitch and demo of the application:[/vc_column_text][vc_video link=”https://www.youtube.com/embed/ydG-cUf0_UM” css=”.vc_custom_1603137295681{margin-top: -10px !important;}”][vc_column_text]
Conclusion
In summary, TADHack was a welcome recluse for developers all over the world stuck in a rut because of COVID. Even though everyone was working from home, miles and miles away from each other, TADHack brought everyone a little closer in the spirit of hacking. And, we won a prize!
Hackathons are a fun way for our developers to refresh our creativity, but we do this professionally too! Do you have an idea for a communications app for web or mobile? We can help you build it – contact us today!
[/vc_column_text][/vc_column][/vc_row]