Voice Controlled Shopping List
A voice powered groceries shopping assistant built for the Pixels Camp's 2016 Hackathon.
Ever been in a situation where you notice that you're missing something in your house, you need to buy it but then forget to add that product to your shopping list?
Well now with Jarbas, you don't need to open your note app to write down your shopping list.
Simply say "Jarbas" to your phone (Android) or using the Jarbas Webapp (Chrome only) and tell it what you want to add to your shopping list.
It'll be listening to what you want to find and save it. Once you're done, you can ask it to email you the list or request for the groceries to be delivered at your place (using Continente's API).
No more forgetting to buy that toilet paper! Jarbas is here for you.
How it Works
- The bot runs on Chrome only (because of Googles Speech to Text API);
- Constantly listens to the user's voice with microphone;
- After the final transcript is returned from Google's API, it attempts to match commands using a bag of wordsapproach;
- Product matching is done using simple regex;
- If products are found and returned, the bot waits for the user to state which product they wish to add to the shopping list.
- Product string similarity score is calculated using Sørensen–Dice's Coefficient;
- Once users are done with their purchase, they can ask for the list to be finalized;
- Previously bought products can be found on the user's main page, including some stats like the most bought product and purchase mean cost;
- Products were provided by Continente through their API. To speed up matching, products were stored on a Mongo database so the bot wouldn't constantly request the API to find/retrieve products;
- An Android app was built by Miguel Pescadinha that loads the webapp into a webframe in order to use Android's native Speech to Text API; The native app and webapp talked to each other using Android Javascript Interface;
Stack
- Meteor framework;
- [](https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html)Google WebSpeech API (Chrome Only);
- [](http://getbootstrap.com/)Bootstrap;
- Continente's products API (made specifically for the contest);
- Hosted on Modulus.io
Results
After 2 days of hacking away and testing, Jarbas was live. The project landed 3rd place ,amongst over 60 participating teams. Not bad! 🏆
You can check the code here.You can check the presentation to the audience below.
Receiving the trophy (and an Apple TV 4K)