While many tools exists to facilitate planned remote meetings, distributed teammates tend to get left out of ad hoc or impromptu meetings.
These informal meetings often generate important decisions, but it’s hard to make sure all relevant teammates are included. By the time you determine if your remote teammate is available and get them on the phone, the conversation could already be over — and you risk taking teammates out of the zone with the interruption.
Even worse, if you don’t document what was discussed, you risk losing the insight gained from the conversation.
What it does
Utilizing Amazon Echoes, meeting organizers use natural language to determine the availability of remote team members and initiate a video chat. All teammates, if available, are notified of meeting requests via Slack. Meetings are recorded and transcribed into notes, which are pushed back into the appropriate Slack channel, so everyone is kept in the loop — whether or not they were able to join.
How We built it
Our UI consists entirely of Alexa which communicates with an Amazon Lambda ‘skill’ which we built to interpret the voice commands. This publishes data to a Redis pub/sub channel which our bots pickup and determine the availability of the participants and responds appropriately - whether setting up a meeting, piped into a slack channel or denies the request.
Challenges We ran into
- Parallelizing work for the hacking timeframe which we overcame with Redis Pub/Sub which allowed us to break up the project into its constituent parts
- Alexa has a bit of a learning curve - we had no experience with it before the hackathon. Good documentation and use of Amazon lambda made this easier
- Adding ‘modules’ of availability including Google Calendar, Slack timezones, etc
- Alexa control over when she listens and when she doesn’t which makes pacing out a ‘natural’ conversation difficult
Accomplishments that We’re proud of
- Making an MVP work!
- Now that we have the MVP there’s many ways we could extend it including new communication parables and other ways of checking a person’s ‘availability’
- Designing and communicating what we’ve done with a pretty website and clear value proposition
What We learned
- Alexa is a super powerful tool for text to speech. There’s so much more we’d like to extend it with
- Amazon Lambda functions are amazing and allow for a very functional design process
- Redis pub/sub is a great short term message bus to divide up work across different services
What's next for Imprompt.io
- Building out more functionality to determine a user’s availability
- Building out more ways of communicating other than video chat. Twilio for instance
- Smoothing out the UX with Alexa to make it easy and more natural