Inspiration

Food recalls occur too often and end up being a boy who cried wolf. The recent Salmonella cantaloupe outbreak and Salmonella Quaker outbreak show it affects every company. You can sign-up for notifications via the Government of Canada, but they come too frequently. We wanted to make a product that tailored recalls to what you really bought.

What it does

Grocery receipts are uploaded to Azure Blob Storage and then passed to Azure AI Document Intelligence. Document Intelligence uses optical character recognition to extract merchant info, transaction date, and items. These items are vectorized and the metadata about the transaction is stored in our Redis database. Our background cron job will check the government's RSS feed for new recalls. We embed the recalled items and perform a cosine similarity search. If the match reaches our threshold, we send a notification to the user using SendGrid. The cron job runs at regular intervals to ensure users are updated.

How we built it

We used Azure's Blob Storage and AI Document Intelligence to process the receipts. Cloudflare's Workers AI was used to convert text into embeddings. We stored everything in our vector database. The front-end was made using Tailwind and React, and the back-end was made using FastAPI.

Challenges we ran into

  • Integrating React and FastAPI
  • Parsing some receipts

Accomplishments that we're proud of

  • Can extract text from any grocery receipt
  • Azure Blob allows for access anywhere

What we learned

  • OCR to extract text
  • Azure Blobs for file storage

What's next for recall

  • Parse even more receipts
  • Improve front-end

Built With

Share this project:

Updates