Meetings are an unavoidable part of corporate culture, whether it is a big or small outfit. At Alacriti, I have meeting with different people, ranging from developers, testers, managers and business analysts and some of them work in different time zones.
I usually send a message using Google Hangout to instantly enquire if the person I want to meetup is available? And if not enquire about the next available time? Or send out an email if the person is offline and wait for their email response to schedule for the meeting.
Over a period I realized I was spending a considerable amount of time in just scheduling a conference call or a meeting with all the stakeholders for the projects I was working on.
When I enquired with others as to how they do it, I was given tips on what to and what not to do so that I can improve on my efficiency. Incorporating the suggestions helped me a bit but the fundamental problem didn’t get resolved. And learned most of them have just accepted that’s is how it is and nothing much can be done about it.
I and my colleagues started brainstorming and we came up with this idea of having a digital butler who could take care of our scheduling needs based on individual preferences and needs.
What it does
A user can simply instruct his/her Aye ‘Alfred butler to schedule a meeting or a call with a colleague or a team via email, voice or over chat.
Each member of the corporate has got his/her own “Aye ‘Alfred” butler bot who has access to their calendar and knows his/her preferences.
Aye ‘Alfred automatically schedules for a meeting without anyone’s manual intervention.
It does this by negotiating with the “Aye ‘Alfred” butler bots of the invitees.
Since each of the “Aye ‘Alfred” butler bot knows their master’s preferences and availability, negotiating is automated and a meeting is scheduled which is mutually convenient and at an appropriate time.
How we built it
Currently ‘Aye’ Alfred’ application is deployed in AWS and is fully scalable and can also easily be extended to provide more functionality.
We have used **Amazon Comprehend** to process and analyze the email request. Information such as invitees list, the purpose of the meeting, time and the location of the meeting are derived by AWS Comprehend and passed on to the Master Scheduler. This Master Scheduler does much of the heavy lifting of understanding the meeting request and arriving at an appropriate meeting time and makes an external Google API call to block calendars of each of the invitees.
We have used **Amazon Transcribe** to translate the voice request to text. And this request is passed on to the Amazon Comprehend service to proceed with the rest of the process.
We have used **Amazon Lex** to interactive arrive at the intent for meeting and capture all the parameters required for the Master Scheduler to proceed with the back-end logic of blocking the invitees' calendars.
Challenges we ran into
We feel the nature of the problem is quite complex and it required skills/abilities in multiple areas to put together a working solution.
We have had difficulties with training Amazon Comprehend and probably could be because of lack of knowledge AWS AI services and how to use them. We have had to tweak our Amazon Lex implementation quite a lot to work for the scenarios that we presented.
We realize what we have put together is a very basic version.
Accomplishments that we're proud of
We have a working Prototype or a so-called ‘Proof of Concept’.
We are quite proud as we have pulled this off in less than a week’s time as we had come to know about this competition very recently.
Our team of 7 members has put it a lot of effort to get this done and it was an amazing feeling for all of us to get the application working.
What we learned
All of us quite new to all the AWS services that we have had to use to build this solution. Not just the conceptual and technical knowledge gains, this whole exercise has given us an excellent opportunity to work hand in hand and bring out the best from each of us.
What's next for Aye'Alfred
We know what we have is just a proof of concept right now.And we feel the possibilities for this application are infinite
There are a lot of things that can be done and the value we perceive with a solution like this is absolutely incredible.
- We need to make this much more intelligent and as close to a real Butler (like Alfred – Batman’s butler) as possible.
- Upon signup can gather information about an individual’s past meetings (with whom, when, for what, durations, frequency etc. etc.) and derive useful intelligence that can be utilized to schedule meetings
- A lot of improvement needed to make the system understand user’s meeting request over all the channels (Email, Voice, and Chat)
- Need to support more integration channels.
- Integrate into multiple calendar applications