Inspiration

The Technology Management Program at UC Santa Barbara requires students to frequently collaborate in teams.There are numerous meetings scheduled every week and it is difficult to find common availability. We need an application that can look at various team members schedule and provide meeting times.

While the TeamUp application can be beneficial to students, it is extremely useful as a productivity tool for any team at a workplace, a small group of friends planning a road trip, or a social event.

What it does

TeamUp provides a voice based assistant that allows you to create teams, lookup your team members calendars and find/suggest/schedule meetings according to common availability times.

How we built it

We used Google Assistant SDK, Actions on Google, Firebase, Google Cloud, NodeJS, HTML5 to build an application.

We proceeded as follows:

  1. Created a DialogFlow; provided a voice based action and intent which queried team emails to create a new event.
  2. Action written as a cloud function which is deployed as a firebase project
  3. A fulfillment service was a web-service written in NodeJS which served as webhooks for calendar integration

Challenges we ran into

  1. Integration and use of the Cloud functions are very difficult to debug
  2. Many issues related to the accuracy or the request and responses, which still exists
  3. Limited community support on various developer forums for Google Assistant SDK.
  4. Discovery of apps on Google Assistant

Accomplishments that we're proud of

  1. The DialogFlow and Actions were implemented successfully and we were able to respond with the appropriate context.
  2. Successful integration with Firebase and Google Cloud Functions to enable real-time messaging

What we learned

Immense learning around the challenges with voice based search and integration of various actions, services, cloud functions and Firebase, especially the issues around integration in the as-a-service cloud environment.

What's next for TeamUp

  1. We plan to finish the calendar integration with better context and intent data which will allow us to publish this application.
  2. We intend to train the assistant, solve the integration issues and increase the accuracy of the request and responses.
Share this project:

Updates