Inspiration

With the cost of living hitting record highs in Australia, groceries have become one of the biggest pain points for families and students alike. The average Australian family spends nearly $200 a week on groceries — and with Coles and Woolworths dominating the market, the difference in price on the same item between the two can be significant. We wanted to build something that takes the mental effort out of grocery budgeting, so you spend less time comparing spreadsheets and more time just living your life.

What it does

GroCom lets you search for any grocery item and instantly compare prices across Coles and Woolworths, so you can see at a glance where you'll get the best deal. You can add items to a cart and open all the product pages in one click to go straight to checkout.

How we built it

We built GroCom as a full stack web app with a React + Vite frontend hosted on GitHub Pages, a Flask backend hosted on Railway, and a manually curated product database. The frontend fetches search results from the backend and renders them as dynamic comparison cards with cart functionality.

Challenges we ran into

Actually scraping from Coles and Woolworths to populate our database ended up being much more challenging than expected. After inspecting their robots.txt we discovered legality issues with certain kinds of scraping, and even the permitted forms were blocked by their anti-bot measures — so we ended up populating our database manually instead. On top of that, it was our first time working with React, Vite, and GitHub Pages together, and getting them all playing nicely took longer than expected. As first-year students and first-time hackathoners, we were also learning most of our tools on the fly during the event.

Accomplishments that we're proud of

Despite the scraping roadblock cutting off our main data pipeline, we still shipped a working MVP — a real full stack app with a live backend, dynamic search, price comparison cards, and a functional cart. Getting all of that working end to end in a hackathon as first-years felt like a real win.

What we learned

We learned how to build and deploy a full stack app from scratch under time pressure — connecting a React frontend to a Flask API, managing state across components, handling CORS, and deploying to both GitHub Pages and Railway. We also learned the hard way that scraping major retailers is far more legally and technically complex than it looks.

What's next for GroCom

Once we find a legal path forward on data collection, we want to move to real-time scraping so prices stay current. From there we'd like to expand to more stores including Aldi and IGA, add price history tracking and alerts so users can watch for drops on items they care about, and eventually build a mobile app.

Share this project:

Updates