This idea came about during a project meeting I had in university. The project team had a lot of discussion and insights throughout the meeting, but realized at the end that we forgot to take down meeting minutes. This gave us the idea of creating a tool that will take speech input and record minutes on a collaborative platform that is commonly used amongst teams. After looking into the Trello API, the team decided that Trello would be the perfect platform to work with, as it can be updated in real-time and its usage is very intuitive.
What it does
Huddle is a productivity app that facilitates team stand-up meetings in the work place, and revolves around the Scrum methodology. It records audio while the meeting is on-going and updates the team's Trello board in real-time based on the dialogues that took place. This eases the menial task of having to write down minutes or manually updating a Trello board, thus ensuring that important information is being recorded on a collaborative tool that everyone in the team can access. In essence, Huddle is a virtual secretary that makes the work place more productive.
How we built it
In the process of building Huddle, we split the project into 4 main components - Speech-to-Text, Natural Language Processing, an API to interface with the Trello API and a chrome extension that will be compatible with Trello.
- For the Speech-to-Text aspect, we used the Google Cloud Speech API to convert a real-time audio stream into individual sentences.
- To interpret each sentence, we used Dialogflow's NLP capabilities to output entities and intents based on the sentence's context and content.
- Using a Node.js app, the above information is then used to decide what actions to take with the Trello API - whether a new card should be created, an existing card should be updated / moved, as well as assigning members to a task.
- The chrome extension we created allows users to create a drawing and pin it to the Trello board.
Challenges we ran into
- The Google Cloud Speech API has a 1 minute timeout limit, thus we faced the difficulty of transcribing long durations of real-time audio streams. To bypass the 1 minute limit, we had to tweak the API at a low level.
- Another difficulty was figuring out what information from each sentence to retain and be updated to Trello, as well as deciding which action was the most relevant to take with the API. We had to trial and error continuously to find an optimal solution.
Accomplishments that we are proud of
- That we managed to finish a MVP of the project despite the difficulties we faced
- Creating a tool that can be used in our own daily lives
What we learned
- Hackathons don't usually go the way you expect them to turn out despite how much prior planning you do
- Using various APIs to create a useful and relevant product
What's next for Huddle
- Improve the Dialogflow model / NLP extraction of relevant information
- Use machine learning to decide on the best action to take with the Trello API
- Create a simple GUI for users to activate the service
- Populate more data fields on Trello
Icon made by Vectors Market from www.flaticon.com