A diffuser brand that translates the stories of mythological gods into scent — expressed through cocktail-inspired colors.
South Korea's fragrance market grew over 30% in just three years
—from ₩603.5B (2019) to a projected ₩1T by 2025 (Euromonitor).
With the rise of:
- 🌿 Niche perfume brands
- 🕯 Home fragrance products
- 💰 “향테크” (scent as investment culture)
Consumers are seeking a more thoughtful and personalized way to discover their scent.
Fragrance discovery is inefficient, sensory-dependent, and overwhelming.
Consumers must smell dozens of products
just to understand what they like.
Heavenly Cocktail reimagines scent discovery as a
visual, preference-driven kiosk experience —
eliminating the need for trial-and-error sniffing.
Traditional Virtual DOM reconciliation compares large portions of the tree on every update.
We integrated Million.js, which uses a block-based rendering strategy to track and update only the parts of the UI that actually change.
Impact
- Reduced unnecessary re-renders across the kiosk interaction flow
- Improved touch responsiveness
- Delivered smoother UI performance under rapid state updates
//App.jsx
import { Redirect, Route, Switch } from 'wouter'
...
return (
<UserPreference.Provider value={[userPreference, (nextState, delayed = false) => setUserPreference({ ...nextState, delayed })]}>
<ScentSelectionStatus.Provider value={{ pos, setPos }}>
<Switch>
<Route exact path='/starting' component={Starting} />
<Route path='/choosing' component={Choosing} />
...
<Route path='/product/:product/receipt' component={Receipt} />
<Route><Redirect to='/starting' /> {/** Or should we redirect to 404 page? */}</Route>
</Switch>
</ScentSelectionStatus.Provider>
</UserPreference.Provider>
)Instead of using a heavier routing solution, we adopted Wouter to:
- Minimize bundle size
- Reduce abstraction overhead
- Maintain a simpler mental model
This decision prioritized architectural clarity over ecosystem popularity.
User perception research shows minimal visible difference between 100% and 75% image quality.
Below 75%, perceptible degradation increases.
Engineering Decision
- Standardized all images at 75% compression
- Reduced asset weight without compromising user experience
- 61.6% reduction in image payload
- Eliminated redundant renders in kiosk step transitions
- Reduced routing abstraction weight
Source: imgmin research
Fragrance is not only sensory — it is visual and spatial.
The bottle was designed as a decorative object,
encouraging long-term display rather than short-term consumption.
This transforms the product from a consumable into a lifestyle artifact.
- Grand Prize, Artistic Software Competition | Kyung Hee Univ. (2023)
- Excellence Award, Software Festival | Kyung Hee Univ. (2023)





