Inspiration

As college students, we basically survive on grocery BOGO (Buy One, Get One) deals. But manually checking different weekly ads and store sites is tedious. We wanted to build a localized, no-nonsense tool where anyone could just drop in their zip code and instantly see all the active BOGO promos at nearby stores.

What it does

It’s a clean web app focused entirely on real deals. You type in a 5-digit ZIP code, and the app hunts down current offers in your area. Instead of showing every minor discount, it strictly filters for actual BOGO deals by scanning the promotional text for "bogo" or a combination of "buy," "get," and "free". The frontend then spits out a clean list showing the store name, address, the exact item, and the price.

How we built it

  • Frontend: We kept it simple and fast with vanilla HTML, CSS, and JavaScript. The client-side JS intercepts the form submission and fires off an async fetch request to the backend.

  • Backend: We spun up a Python Flask server to act as our API. It validates that the ZIP code is exactly five digits and triggers the data ingestion pipeline.

  • API Scraper: We used Python's requests library to hit the Parse.bot API, which scrapes live store deals using the provided postal code.

  • Database: We used Databricks as our data warehouse. We connected it via the databricks-sql-connector to run automated SQL MERGE queries. This ensures our stores, items, and store_product tables update cleanly with the live scraper data without duplicating records.

Challenges we ran into

Real-world data is incredibly messy. The external scraper API kept returning inconsistent data types—like mixing integers and floats—which would instantly crash our database inserts. We had to write a custom sanitize_items algorithm on the fly to normalize all the numbers before they hit Databricks. Also, accurately flagging a true BOGO deal was tougher than expected; we had to write strict string-matching logic to parse the API's "sale_story" text to filter out fake deals.

Accomplishments that we're proud of

We are super proud of getting a fully automated data pipeline working within the hackathon time crunch. Wiring an external scraping API to a Databricks SQL data warehouse, and then successfully serving that live, filtered data through a Flask backend to a custom frontend, was a huge win for us when it finally all clicked together.

What we learned

We got a major crash course in cloud database connections, specifically using Databricks SQL and writing MERGE queries to handle UPSERTs. We also learned a lot about full-stack debugging, particularly routing JSON payloads and handling asynchronous async/await calls between a JavaScript frontend and a Python backend.

What's next for the BOGO website

We want to add UI filters so users can sort the deals by product category, since our backend is already extracting and storing that category data in the database. We also want to implement a caching layer so that repeated searches for the same ZIP code don't force our server to make redundant calls to the scraping API.

Share this project:

Updates

Submission history