BeautyMatch – Smart Skin Compatibility for Beauty Products
SOUMYODEEP DEY

SOUMYODEEP DEY @soumyodeep_dey

About: trying to code and create...

Location:
Kolkata , India
Joined:
Jul 7, 2024

BeautyMatch – Smart Skin Compatibility for Beauty Products

Publish Date: Jul 28
16 2

Introduction

BeautyMatch is a privacy-first Chrome Extension that analyzes beauty product pages from Amazon.in, Sephora India, and Nykaa, and shows whether a product is a Good Match, Caution, or Not Recommended based on your skin profile.


🚀 Features

  • 🧠 Smart verdicts based on your skin tone, type, and allergies
  • 🛍️ Automatically scrapes ingredient info from supported Indian websites
  • ✍️ Quick onboarding to save your skin profile
  • 🎨 Tailwind-powered popup UI with React
  • 🔒 100% local – no server, no tracking, no data sharing

Watch it here : YouTube Video


Full Code here : GitHub Link


📁 Project Structure

BeautyMatch/
├── public/
│   ├── manifest.json              # Chrome extension config (MV3)
│   ├── onboarding.html            # Onboarding page HTML
│   └── icons/                     # Extension icons
├── src/
│   ├── pages/
│   │   └── Onboarding.tsx         # Onboarding React component
│   ├── content/
│   │   └── scraper.ts             # Content script to scrape product info
│   ├── background/
│   │   └── background.ts          # Background service worker (MV3)
│   ├── App.tsx                    # Verdict popup UI
│   ├── main.tsx                   # React entry point
│   └── styles/                    # Tailwind CSS
├── index.html                     # Popup HTML
├── vite.config.ts                 # Vite + CRXJS build config
└── README.md                      # You're here!
Enter fullscreen mode Exit fullscreen mode

🧠 How It Works

  1. You complete a short onboarding quiz
  2. Your skin profile is saved in chrome.storage.sync
  3. When visiting supported product pages, the extension:
  • Scrapes ingredients from the page
  • Compares them with your saved skin profile
  • Displays a personalized verdict in the popup

🛠 Tech Stack

  • Vite + React + TypeScript
  • Tailwind CSS for styling
  • @crxjs/vite-plugin for Manifest V3 Chrome Extension builds
  • Chrome Extension APIs: storage, runtime, scripting

🧪 Run Locally

# Install dependencies
npm install

# Build for Chrome (outputs to /dist)
npm run build

# Load in Chrome:
# 1. Visit chrome://extensions
# 2. Enable Developer Mode
# 3. Click "Load unpacked"
# 4. Select the /dist folder
Enter fullscreen mode Exit fullscreen mode

📦 Scripts

Command Description
npm run dev Launches dev server for pages
npm run build Builds extension for production

🌱 Future Roadmap

  • Add support for more Indian and global e-commerce platforms
  • Improve ingredient matching accuracy
  • Add accessibility settings and dark mode
  • Optional: user login and syncing across devices

🚀 Built with ❤️ by Soumyodeep Dey

Comments 2 total

Add comment