Spritz — Cologne Dupe Finder
Hackathon ProjectAI-assisted fragrance discovery for finding affordable alternatives to luxury scents.
Interactive project walkthrough
Interactive Preview
Fragrance Match Preview
This preview uses sample portfolio data. It does not perform live scraping, does not call Gemini, and does not provide live retailer prices.
Project Overview
Spritz takes a link to a luxury fragrance, extracts its scent profile, and surfaces budget-friendly alternatives with a similar character using a scraping and AI-classification pipeline backed by PostgreSQL.
My Role
Contributed to the hackathon application, its dataset/database structure, backend integration, and product workflow.
The Problem
Consumers may like a premium fragrance but lack an easy way to identify lower-cost products with a similar scent profile.
The Solution
A workflow combining web scraping, AI-assisted classification, and a PostgreSQL fragrance dataset to return relevant, affordable alternatives.
Key Features
Luxury Fragrance Lookup
Accepts a fragrance product URL as the starting point for a search.
Automated Scraping
Puppeteer extracts fragrance details directly from the source page.
AI Classification
Gemini analyzes scent notes to classify the fragrance's profile.
Alternative Matching
A PostgreSQL-backed dataset returns budget-friendly fragrances with a similar profile.
Technical Architecture
Engineering Highlights
- Integrated with external APIs to fetch fragrance data.
- Designed a clean, minimalist UI for easy key-value searching.
- Built a robust backend with PostgreSQL to store user preferences and search history.
Challenges and Lessons
Challenges
- Normalizing inconsistent scent-note data scraped from different retailer pages.
- Tuning the classification step so recommended alternatives actually matched the source fragrance's profile.
Lessons Learned
- Pairing a scraping pipeline with an LLM classification step requires careful handling of malformed or missing data.
- A small, well-structured dataset can outperform a larger, noisier one for similarity matching.