Inspiration
Shadyside has three main grocery stores that students shop at: Target, Whole Foods Market, and Giant Eagle. When looking at a grocery list, you would have to search on each website to see what the price is for a grocery item and then compare to see which store has the lowest price. Saving Grocer makes life easier by doing the search for you.
What it does
Saving Grocer emulates searching for an item through each website of each of the three main grocery stores in Shadyside. It then takes the price from each website and compares them against each other.
How we built it
We used HTML and CSS to build the front end. This is where the user answers two important questions: "What grocery item are you searching for?" and "What is your zip code?" (to find the closest store). We used Python and Flask for the backend. Here is where the bots and comparisons take place. The bots web scrape prices from HTML elements of the three retailers. It then formats the elements into comparable float values to determine the lowest price. After comparisons, values are sent passed onto HTML pages to display to the user the best grocery store choice.
Challenges we ran into
The biggest challenge is speed and performance. Using bots to emulate web navigation is very slow and very dependent of hardware and internet speed. Trying to logistically time everything so everything worked consistently was a huge obstacle.
Accomplishments that we're proud of
We are very proud of how much we were able to get working in the short amount of time. There were three technologies we were unfamiliar with that we had to read a lot of documentation on in order to put out a project (Selenium, Flask, and HTML/CSS). We're proud that we were able to build something that actually solves a problem that we endure. As college students, saving money is very important to us.
What we learned
We got to learn many new technologies as stated before, but we also learned how to communicate as a team as the people who helped put this together had not known each other until the day of the hackathon started. As our first hackathon experience, we learned high important time management is to take on a project with little time.
What's next for Saving Grocer
We plan to implement these features:
- Input full grocery list, output sorted list by store
- Lower performance of Giant Eagle bot
- Include fallbacks for when comparable items are not available at every store
Log in or sign up for Devpost to join the conversation.