Inspiration
As a relatively broke university student, I tried to budget carefully so that I could get study snacks (pop, chips, etc.) when I needed them. But, I quickly realized how difficult it was to accurately compare prices from my local retailers manually, and that I couldn't look at the prices in local convenience stores or gas stations without physically travelling there. So, I aimed to develop a centralized solution that would make it easy to price check.
What it does
ShopSmart pulls product prices from Canadian retailers (e.g., Safeway, FreshCo), finds the cheapest price among them, and shows a breakdown of pricing between all the retailers for that product.
How we built it
Prior to the Hackathon I built 95% of the front-end React Native with Expo, as I wanted this application to be usable across iOS and Android devices. I also added mock data as I did not have a real database connected yet, and no account system.
I also added a product detail page, where the user can see a breakdown of the prices, and an expo router system.
During the hackathon I added a backend using Supabase to store application data (e.g., product information, accounts), and modified product code to pull data from supabase instead of the mock data. I also added an account system that allows users to create, log in, and delete accounts. Additionally, I added the ability to show all products under a specific category when clicking on that category, and the ability to search for an item and see all matches (e.g., searching pizza would return listings for frozen pizza, pizza sauce, etc)
Challenges we ran into
I was unable to get a webscraper working for supabase, which would have pulled real product data from retailer websites. I installed a temporary workaround by inserting sample data for demo purposes.
Additionally, my original intention was to add Gemini powered AI functionality for personalized product recommendations and search product price by taking a picture of the item. Unfortunately, I simply ran out of time to add this.
Accomplishments that we're proud of
I am proud that I took an application, which I only recently started working on again, and was able to get it this far. I successfully have my application getting data from a real database, an semi-working account system, and a solid plan for future improvement.
What we learned
My main takeaways from this project are the following:
- Allocate more time then you think you need, even small additions can take time to add if anything goes wrong
- Leverage AI to write code with you. It can save time on adding simple things, and give you more time to focus on developing more complicated functionality.
- Drink lots of redbull.
What's next for ShopSmart
- Adding personalized product recommendations, based on items the user views
- Add google maps integration to factor in cost of gas, time to travel to store, etc, into cheapest price calulation
- Get small to medium businesses to add their prices to the app, including farmers
- Add shopping lists to allow users to save desired products and stores for later.
- Allow users to delete their personal data used for personalized recommendations
NOTE I was given permission by the SFU Stormhacks President not to include my github repo link as I intend to sell this as a product and do not want others copying off of this code.

Log in or sign up for Devpost to join the conversation.