A satirical shopping site that exposes the pink tax: products marketed to women that cost more than the same products marketed to men. It compares real Amazon prices (collected with Bright Data) and lets you paste any Amazon link to check if it's pink taxed.
You need Node.js 20 or newer.
git clone https://github.com/wisharray/pink-tax.git
cd pink-tax
npm install
npm run devThen open http://localhost:3000.
You can completely run the website without a key. You can also run it locally without having a key: The product catalog is already saved in the repo, so the category pages and home page work. The link checker also works for products in the catalog.
You only need a key when running locally, to:
- check Amazon links that aren't in the catalog, or
- scrape new product data.
This is already allowed on our public website without the need to add your own key.
Each person uses their own key. Never commit a key to GitHub.
- Create a free account at brightdata.com and create an API key.
- Copy the template:
cp .env.example .env.local
- Paste your key after
BRIGHTDATA_API_KEY=in.env.local. - Restart
npm run dev.
.env.local is git-ignored, so your key stays on your computer.
The catalog is built in two steps:
npm run scrape # searches Amazon for each product type (uses Bright Data credits)
npm run catalog # pairs women's and men's products (free, no API calls)- Product types are listed in
src/lib/site.ts. npm run scrapeskips searches already saved inscripts/raw/. Usenpm run scrape -- --forceto refresh prices, ornpm run scrape -- razorfor one product type.- Review
src/data/catalog.jsonafterward. Set"hidden": trueon any bad match to hide it from the site. Rerunningnpm run catalogkeeps those choices.
| Piece | File |
|---|---|
| Bright Data API calls | src/lib/brightdata.ts |
| Matching women's/men's products and calculating markup | src/lib/pinkTax.ts |
| Link checker logic | src/lib/checkProduct.ts → src/app/api/check/route.ts |
| Saved catalog | src/data/catalog.json |
Markups are compared per unit (per oz or per item) when both products list a size, since women's products are often sold in smaller sizes.