Inspiration

A team member spent a whole night figuring out which cooking oil is the most "natural", but Woolworths website doesn't have a filter or sort option for this criterion. We realised that customers often have too many choices to make at the grocery store, and it's hard to choose items based on what someone values most: like a snack that’s not too sugary, the cheapest organic milk, cooking oil that’s good for heart health, or cereal with the best value for money. We wanted to provide an easily accessible tool that collects this information and provides the user with choices that best match their priority.

What it does

Our product, "S-Mart Get", is a web-based application that scrapes information regarding available options at a supermarket online, and presents a condensed, easily interpret-able, curated selection that can best meet the user's needs. It does this by parsing user input information, such as:

  • Product name (e.g. apple, tuna)
  • Core priority of choice: (from: cost, sustainability, health)
  • Additional considerations (e.g. vegan options, allergies and such)

Users search for their selections and the web app displays the top 3 available products at the supplier of choice (e.g. woolworths), as well as the most relevant information regarding these:

  • product name
  • product cost
  • sustainability ranking
  • cost ranking
  • brief description regarding product and ranking.

How we built it

Our code runs via a python website tool named Flask. The webpage acts as a custom form interfacing directly with an internet scraped dataset (including product name, ingredients, cost and information available via the supplier's webpage), and sorting/scoring this information through calls to OpenAI's API. This information is then neatly presented to the user, through UI, providing supplementary information to aid in their item selection.

Challenges we ran into

  • Learning how adapt open-source web-scraping code to access product information from Woolworths
  • Sorting through data to create a usable CSV file
  • Learning how to host a website via Flask and create an intuitive UI
  • Learning how to set up and interface with an OpenAI interface key
  • Extracting structured outputs from API output and displaying them appropriately

Accomplishments that we're proud of

  • Developing full-stack code with tools team was previously unfamiliar with such as website building with flask.
  • Developing code to reliably interface with OpenAI.
  • UI design

What we learned

  • Idea generation based on a prompt
  • Key python tools and modules: (openAI, flask, web-scraping)
  • UI design

What's next

Right now, S-Mart Get uses Woolworths data to help you find the most suitable products. In the future, we plan to scale up to multiple supermarkets and scrape product information online in real-time, so we don’t need a massive pre-built database. This also makes data updates much easier, since each company will update their own product information themselves. We’ll add filters for location and stock availability, so users can see what’s actually available near them. Beyond groceries, the app could expand to other product categories, giving users smart recommendations for almost anything they shop for. Our vision is to make shopping easier, smarter, faster, and tailored to each user’s needs.

Built With

+ 2 more
Share this project:

Updates