Inspiration

We were inspired by the phenomenon of the Pink Tax in the United States and many other parts of the world. The Pink Tax is an increase in the price of products for women as compared to men’s or gender neutral products, by either market price, imposing of luxury sales tax, or both. This is a result of a gender-biased market, lack of awareness towards feminine health needs, and outdated legislature.

What it does

Tariff is a Chrome extension that saves users money and raises awareness about the Pink Tax. It helps users find the cheaper men’s equivalents of the women’s version of a product when shopping online.

After installing Tariff, the user can use it on any online shopping site (ex: Amazon). When the user clicks on the Tariff icon in the toolbar, a popup appears with a list of links to cheaper and equivalent men’s products which the user can buy instead.

More than just allowing users to save money, the goal of Tariff is to demonstrate the impact of the Pink Tax on women and the harmful nature of a gendered market. With this increased awareness, our community as a whole can take larger steps towards axing the tax!

How it works

Tariff searches the page for keywords such as ‘razor’, ‘shampoo’, etc and sends the most prominent keyword to a REST endpoint on our backend server.

Next, our backend server (written with the Express.js framework) scrapes Amazon (with Puppeteer & Cheerio) for less expensive masculine/gender neutral versions of the product, which are then returned to the extension script.

Tariff then displays the list of products in the extension popup window.

What we built it with

The backend of this project was built with Node.js using the Express.js framework and the frontend was built with React.js and Typescript. The backend uses the Cheerio and Puppeteer libraries to perform web scraping.

Challenges we ran into

Going into this hackathon, the majority of our team was not familiar with web-scraping, especially using Javascript libraries. Due to this, we had to learn how to code a web-scraper in Javascript from scratch through a lot of trial and error and debugging.

On the server end, filtering elements of a webpage using attribute selectors proved to be challenging, as we had to understand how sites such as Amazon were structured and how to isolate just the text that was necessary. Compiling the information that we received from our web scraping in a parseable format also proved to be challenging. Through the process, we faced extracting excess information and having to filter that out (such as repeated displays of the product price or link).

This was also our first time building an extension from scratch, and we spent a lot of time debugging the connection between the background and content scripts of the extension.

Accomplishments that we're proud of

Some accomplishments we are proud of are creating web-scraping scripts that can parse through online shopping sites, gather information about viewed products, and filter for specific products within specific price ranges. We’re also proud of being able to build a functional extension from scratch!

What we learned

We learned how to web scrape using Node.js, Cheerio, and Puppeteer. Although web scraping was challenging, especially as we had not done it before, it was an invaluable learning experience and we gained an important skill for our futures in the computer science field.

We also learned how to write a Chrome extension and improved our skills in designing and creating user interfaces.

In addition, we became a lot more aware of the extensive effects of the Pink Tax on our everyday lives. Developing Tariff and testing the extension with different products such as razors, hygiene products, and activewear helped us see how prevalent the price inequity is between feminine and non-feminine products.

What's next for Tariff

In future iterations of the project, we aim to...

  • Create an informational website to raise awareness about the pink tax
  • Use natural language processing to detect the product the user is viewing. (Currently, we search for keywords in the product name. Employing NLP will increase the scope of Tariff and what products it can be used for)
  • Add a feature that rounds up the user’s purchase to donate to organizations promoting women’s health and menstrual equity.
  • Cache the result from each web scrape so we don’t have to re-scrape every time.

Built With

Share this project:

Updates