DEV Community

Cover image for BeautyMatch – Smart Skin Compatibility for Beauty Products
SOUMYODEEP DEY
SOUMYODEEP DEY

Posted on

BeautyMatch – Smart Skin Compatibility for Beauty Products

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

Top comments (2)

Collapse
Β 
arindam_1729 profile image
Arindam Majumder β€’

Great Work!

Collapse
Β 
soumyodeep_dey profile image
SOUMYODEEP DEY β€’

Thank You bro!