The longer story…

In these trying times, the elderly have been hit particularly hard. While normality is still far away, we can begin to build solutions that might help facilitate lockdown life. An area that desperately needs such solutions is online grocery shopping. Tons of new sites have popped up during the pandemic, but the inconsistent and often confusing user interfaces cause difficulties for the elderly and tech illiterate.

This is where autoGrocer comes in. Rather than asking for a user to change their entire grocery shopping routine, autoGrocer allows for a pain-free online shopping interface. All a user has to do is open the app, snap a picture of their paper grocery list, and sit back as autoGrocer adds all items in the list to a cart in the indicated quantities. Because autoGrocer is equipped with the powerful Google vision API for text detection, handwritten grocery lists are recognized accurately and consistently. After autoGrocer is done processing the request, it sends an email to the user with their order!

The inner workings of autoGrocer…

autoGrocer leverages a number of different powerful technologies to process requests. The flutter front end is used to take the pictures. Pictures are stored in Firebase and the generated URL is used to send a POST request to Google Vision. Google Vision extracts the text and the app sends the results via POST request to a Flask server that contains the python backend. Using the python library Selenium, a browser is opened and all items are added to the cart. Then, an email is sent out to the user with the smtplib and ssl python libraries.

Clear extensions…

autoGrocer could easily be extended in many ways to improve user experience and accessibility. Accepting filters for product brands or preferred grocery stores would allow users to customize their experience. Machine learning algorithms could be deployed to learn about the user dynamically and allow for superior, but still automatic, product choice. The possibilities are endless!

What we learned…

We both had to tackle entirely new technologies in order to build autoGrocer. Clare dealt with the front end and user experience, learning how to use Flutter in only a day and connecting the app to Firebase and the Vision API! Emilio worked with a Flask server for the first time, building an API that would allow easy access to the array of functions in the python backend. It was a fantastic learning experience for both of us!

Built With

Share this project:

Updates