Prototyping

Context-Aware Discovery Engine

ROLE

Discovery Engine

EXPERTISE

Cold-Start Recommendations

YEAR

2025

Project Description

Project Description

Project Description

Solving the 'Cold Start' Discovery Problem via Sentiment Analysis.

A "Zero-Party Data" prototype designed to solve the 'Cold Start' discovery problem.

Traditional personalization relies on deep user history. This Discovery Engine inverts the model by explicitly capturing user context ("Mood") to generate high-relevance recommendations immediately.

Built as a lightweight, dependency-free application, it demonstrates a Federated Search architecture: mapping abstract user sentiments to concrete metadata taxonomies and fetching real-time media assets via external REST APIs.

A single-file, no-framework web app that turns vibes into watch-and-read lists. Type a mood (“melancholy,” “epic,” “playful”) or pick from 50 supported moods, and the app instantly recommends 4 titles tailored to your mood across Comics, Movies, or TV via a sticky Media Dropbox.

Each pick shows a clean one-liner rationale, live cover thumbnails (auto-fetched from Wikipedia with local caching), and a details overlay with summary, tags, and a single “Where to Watch” pill for fast streaming lookups.

The interface is intentionally minimal: centered card, big input, Enter-to-submit, subtle animated “mood atmospheres,” and a scrollable mood rail with keyboard focus states.

Everything ships in one ≤60KB index.html, portable, fast, and easy to host.

What Makes It Special

  • Semantic Sentiment Mapping: Flexible parsing (synonyms + fuzzy matching) maps free-text to curated mood sets with 3 unique + 1 overlap per mood to keep variety high.

  • Tri-media switching: Comics/Movies/TV toggle in one click; recommendations, covers, and overlay adapt instantly.

  • Instant visuals: Wikipedia cover fetch with localStorage caching and graceful SVG fallbacks, snappy on repeat visits.

  • Thoughtful UX polish: Sticky headers, pill hover/selected states, animated color “atmospheres,” and a non-scrolling thumbnail grid that always aligns to the main card.

  • Accessibility baked in: Semantic roles, labels, ARIA for live regions/menus, visible focus rings, and full keyboard support.

  • Resilient by design: Popular-picks fallback for unknown moods, defensive network handling, and E2E QA before every ship.

  • Zero-Dependency Architecture: Pure HTML + CSS + Vanilla JS, drop it on GitHub Pages, Netlify, or email the file and it just works.

Recent highlights

  • Details Overlay: One-tap summaries, genres, year/author, and a clean “Where to Watch” pill.

  • Smart Inspire: Surfaces a mood you haven’t used recently, keeps discovery fresh.

  • Dynamic Mood Atmospheres: Unique animated gradients per mood; smooth transitions without layout issues.


What Makes It Special

  • Vibe-first intelligence: Flexible parsing (synonyms + fuzzy matching) maps free-text to curated mood sets with 3 unique + 1 overlap per mood to keep variety high.

  • Tri-media switching: Comics/Movies/TV toggle in one click; recommendations, covers, and overlay adapt instantly.

  • Instant visuals: Wikipedia cover fetch with localStorage caching and graceful SVG fallbacks, snappy on repeat visits.

  • Thoughtful UX polish: Sticky headers, pill hover/selected states, animated color “atmospheres,” and a non-scrolling thumbnail grid that always aligns to the main card.

  • Accessibility baked in: Semantic roles, labels, ARIA for live regions/menus, visible focus rings, and full keyboard support.

  • Resilient by design: Popular-picks fallback for unknown moods, defensive network handling, and E2E QA before every ship.

  • Zero build tools: Pure HTML + CSS + Vanilla JS drop it on GitHub Pages, Netlify, or email the file and it just works.

Recent highlights

  • Details Overlay: One-tap summaries, genres, year/author, and a clean “Where to Watch” pill.

  • Smart Inspire: Surfaces a mood you haven’t used recently, keeps discovery fresh.

  • Dynamic Mood Atmospheres: Unique animated gradients per mood; smooth transitions without layout jank.