An AI-powered perfume quiz that decodes your scent personality and finds your perfect fragrance match.
From signature scent to personalized discovery kit — a walkthrough of the end-to-end experience.
Finding a fragrance you love shouldn't require a chemistry degree or dozens of regretful blind buys.
There are thousands of fragrances on the market. Without guidance, shoppers default to bestseller lists and celebrity endorsements that have nothing to do with personal preference.
After testing 3-4 scents in store, your sense of smell shuts down. You leave confused, or worse, buy something you can't return.
"Top notes of bergamot with a heart of tuberose" means nothing to most people. The language of fragrance excludes the average shopper.
At $80-300+ per bottle, a bad purchase stings. Most perfumes can't be returned once opened, so buyers stick to safe choices instead of exploring.
Whifff translates lifestyle preferences into fragrance chemistry through a conversational quiz.
Already have a signature scent? Tell us what you wear and love — we'll extract the notes and accords to understand your taste before the quiz even starts. Or skip ahead if you're starting fresh.
Choose the fragrance families that pull you in — floral, woody, fresh, oriental, fruity, or gourmand. Pick as many as feel right. This sets the direction for everything that follows.
Pick your price range so every recommendation is something you'd actually buy. From affordable finds to niche splurges — no judgment either way.
Date night, everyday wear, office, night out — where you'll wear it changes what we recommend. The algorithm weighs intensity and note profiles based on context.
Sillage is how far your scent projects. Want something intimate that stays close? Or do you want to leave a trail? This shapes which concentrations and note structures we prioritize.
The flask mixes, the algorithm runs, and your personalized results appear — each with note breakdowns, ratings, sillage badges, and an explanation of why it matched your profile.
Whifff isn't just a form with pre-mapped answers. It's a real-time recommendation engine that combines structured data with AI reasoning.
Curated perfume database with scent profiles, note breakdowns, accords, occasion tags, sillage ratings, and price tiers — each entry normalized and structured for algorithmic matching.
Every perfume is scored against your quiz answers using 8 weighted signals: accord matching from your past perfumes (+4), note overlap (+3), scent family alignment (+3), sub-note matching (+2), occasion-accord fit (+1), sillage match (+3 exact, +1 adjacent), price range (+2), and a quality rating boost (+0.5×). The top 3 highest-scoring perfumes become your results.
Hard filters (budget, perfumes you already own) are applied after scoring to keep recommendations surprising while respecting your constraints. The engine finds the best matches first, then trims — not the other way around.
The scoring engine is designed to scale. The next upgrade replaces keyword matching with pgvector — each perfume's notes embedded as a 384-dimensional vector, with nearest-neighbor search returning the top 20 candidates in under 100ms. Price, occasion, and sillage filters then apply as post-filters.
From quiz answers to your top 3 — here's what happens in the 4 seconds while the flask is mixing.
Your quiz answers get translated into a structured preference object. Each input maps to concrete fragrance data:
Each perfume in the database gets a relevance score calculated from multiple weighted signals:
| Signal | Points | How It Works |
|---|---|---|
| Accord match | +4 / match | Candidate shares accords with perfumes you already love — strongest signal |
| Note match | +3 / match | Specific notes overlap (e.g., both have vanilla, both have bergamot) |
| Scent family match | +3 / match | Candidate's accords align with your selected scent families |
| Family sub-note | +2 / match | Candidate's notes match example notes within your chosen families |
| Occasion accord | +1 / match | Candidate fits the occasion you picked via occasion-to-accord mapping |
| Sillage match | +3 or +1 | Exact match scores +3; one step away gets partial credit at +1 |
| Price range | +2 | Bonus if the perfume falls within your selected budget tier |
| Rating boost | +0.5 x rating | Higher-rated perfumes get a small quality bump |
Each result card shows everything you need to make a confident decision:
The scoring engine above works great for the curated MVP database. For production scale (20,000+ perfumes from Fragrantica), the keyword-matching engine gets replaced with vector similarity search via pgvector. Each perfume's notes and accords are embedded as a 384-dimensional vector using sentence-transformers. At quiz time, your answers generate a query vector, and pgvector runs a nearest-neighbor search (ORDER BY note_vector <=> query_vector) to find the top 20 candidates in under 100ms. Price, occasion, and sillage filters are then applied as post-filters — keeping the serendipity of vector search while respecting your hard constraints.
A static results page feels like a dead end. The chat interface lets users dig deeper, ask "why this one?", and get alternatives — turning a one-shot quiz into a conversation. This increases engagement and trust in the recommendation.
Hard-coded if/then rules break when preferences are nuanced ("I want something woody but also sweet"). Vector similarity captures the continuous nature of scent preference, producing matches that feel intuitive rather than mechanical.
Fragrance discovery is impulse-driven. Requiring sign-up before seeing results would kill conversion. The quiz is fully anonymous with an optional save feature planned for returning users.
Every completed quiz is logged anonymously to a public ledger — no accounts, no PII, just scent preferences and recommendations. Visitors can browse what others chose and discover new fragrances through real quiz results.
See past perfumes people entered, the scent families they gravitate toward, and the top 3 recommendations the engine gave them.
No user IDs, no emails, no tracking cookies. The ledger only stores quiz preferences and recommendations — nothing that identifies a person.
Whifff is a living product. Here's where it's headed.
Save your quiz results, build a fragrance wardrobe, and get new recommendations as our database expands with new releases and niche brands.
Layer two fragrances for a custom scent. The AI will suggest complementary pairings based on note chemistry.
Take your phone to Sephora. Scan a perfume, see how it compares to your profile, and get real-time opinions from the AI.
The quiz takes two minutes. Your perfect fragrance is waiting.
Take the Quiz →