Barcodes and boycotts

Technical · November 2023

MakeUC 2023

Boycott lists in late 2023 were screenshots. Somebody's aunt forwards a list of forty brands, no sources, half of it wrong, and people either follow it blindly or give up on the whole idea. One of our team had been trying to boycott seriously and kept running into this.

So at MakeUC we built Buycott. You scan a product's barcode, the app resolves which parent company actually owns it, pulls recent news about that company, and shows you what position the company has taken, with the articles it got that from. You decide what to do with it. The app's job is the receipts, your job is the values.

It won first place overall, plus Best Social Issues Hack, Best Use of Google Cloud, and a Wolfram award. Team was me, Aniruddhan, Ary and Kaaustaaub.

the stance model

The hard part was turning a pile of news articles into a position without editorializing. We kept the human out of the loop for the scoring and in the loop for the judgment.

Technical

The pipeline ran barcode to Google Vision, product to parent company, then company name into GDELT for news coverage. I fine-tuned a RoBERTa model to classify article stance on the Israel-Palestine conflict as pro-Israel, pro-Palestine or neutral, and we aggregated per company with the source articles attached. Aniruddhan built the Flask backend and the Flutter charts, and the whole thing sat on Google Cloud.

From barcode to sourced stance card, the pipeline as built

A weekend fine-tune on one issue is a demo, and the labels are only as good as the training set I could assemble in a night. The architecture was the point, any stance axis you can label data for slots into the same pipeline.

Personal

I don't think an app should tell anyone what to buy. But the gap between wanting to act on your values and being able to check one fact in a grocery aisle was real, and it bothered all four of us enough to spend the weekend on it.