Inspiration

We want to completely cut out the hassle of "what to buy?", or "I don't know what's in my fridge so I'm going to buy a bit more just in case..."! The issues that can arise from these thoughts, though small, can build up over time and end up being extremely irritating as we have personally experienced.

What it does

You can take a photo using the app or upload an image, then an OCR scanner is used in order to extract text from it. It's then processed and regular expressions are used to match each item on the shopping list. The data is then stored in a database, where it can be fetched for later use. The shopping list is created based on the user's estimate on how long it would take them to finish eating or using that item, which is also stored in the database.

How we built it

The UI interface was make using the tkinter library for a minimalist design, the OCR scanner was created using pytesseract and opencv libraries and the sqlite3 library was used to store the database.

Challenges we ran into

One of the challenges we ran into was that it was incredibly hard to get pytesseract working on Windows, so I (Jonathan) had to switch over to Ubuntu to continue working on the project. There was also an urgent situation with Brandon's mother and Anshuman was exhausted after a while, so I had to work on the project solo for the majority of it.

Accomplishments that we're proud of

We're proud of the fact that we were able to create an MVP within 24 hours and use multiple advanced Python libraries all in one project. We complemented each other quite well such that we were able to work on multiple parts of the project without overlapping too much.

What we learned

We learnt how to work as a team even though we barely knew each other and gained more exposure to using more advanced Python libraries.

What's next for No Cons Shopping Gen

Next would be to add more multi-person functionality, such as a shared shopping list and being able to split the bill. We would also add in functionality such that, based on what the user has inputted in previously, the app would estimate when the user would finish with certain items.

Built With

Share this project:

Updates