LI YETONG / ASLAN ← WORKS INDEX

FILE / 01 2026 · AI / SENSORY DATA VISUALIZATION

Scentscape

An interactive olfactory atlas that translates perfume data into a visual, searchable, and AI-assisted sensory interface.

An olfactory atlas

Scentscape is an experimental creative-technology prototype that turns perfume data into an interactive olfactory atlas. Rather than treating fragrance as a static catalogue, it frames each record as a layered sensory system: family, subfamily, top/heart/base notes, mood scores, intensity over time, and an optional AI-generated synesthetic visual concept.

My role

  • Designed the product concept, information architecture, and visual direction for the olfactory data interface.
  • Built the Next.js and TypeScript frontend, including the fragrance wheel, search flow, detail panel, mood canvas, and sillage timeline.
  • Structured perfume data into family, subfamily, mood, note-stage, and intensity fields for interactive exploration.
  • Implemented AI-assisted routes that translate perfume profiles into JSON visual concepts and p5.js generative-sketch code.
  • Used AI coding assistance as workflow support while retaining ownership of the product direction, interaction decisions, data interpretation, and implementation review.

How it works

Explore the atlas

The D3 double-ring wheel maps 9 fragrance families and their subfamilies. Visitors can browse with pointer or keyboard controls, then search by perfume or brand; family and subfamily results remain paginated without losing the current query.

Scentscape Atlas with an interactive double-ring fragrance wheel, search bar, and perfume list
02 / ATLAS — FAMILY BROWSING
03 / MOTION — ATLAS BROWSING
04 / MOTION — FAMILY SELECTION EXCERPT

Read a perfume in layers

Each perfume view brings together brand and release metadata, top/heart/base notes, mood scores, and an estimated intensity timeline. Its responsive canvas changes with the selected profile while the reading surface remains stable.

Perfume detail dialog showing note structure, mood character, and an interactive sillage timeline
03 / DETAIL — NOTES, MOOD, AND SILLAGE

Interpret the scent visually

Optional AI routes translate a selected profile into a synesthetic visual concept and sanitized p5.js sketch output, including a palette, mood labels, and bilingual sensory description. Browsing the Atlas never depends on this generation step.

Dark AI visual overlay with a generated colour palette, mood labels, and sensory description
04 / AI VISION — DARK INTERPRETATION
Warm amber AI visual interpretation generated from a selected perfume profile
05 / AI VISION — AMBER INTERPRETATION
06 / MOTION — AI VISION

Data and interpretation

Local CSV and XLSX material is transformed into the JSON dataset used by the interface. Family, subfamily, mood, and intensity fields are heuristic classifications based on note keywords; the sillage timeline is an interpretation rather than a measured longevity claim. The AI layer remains optional, so the Atlas can be browsed without generation or AI credentials.

VIEW SOURCE ON GITHUB ↗