Inspiration

We noticed something universal:
people don’t search for movies with facts — they search with feelings.
But current platforms recommend based on popularity, ratings, or watch history, not emotional needs.

When we’re stressed, we want comfort.
When we’re lonely, we want connection.
Movies are emotional journeys — but existing platforms ignore that.

We wanted to build a tool that cares how you feel,
one that supports people with personalized emotional messages
while helping them find the right story at the right moment.


What We Learned

We explored how powerful natural language understanding can be
when applied to emotional contexts — not just technical details.

We also learned how to:

  • integrate the Chrome Prompt API for contextual recommendations
  • combine semantic matching with streaming availability
  • design meaningful UI around emotional experiences
  • persist login state with Supabase Auth
  • build a product that is both helpful and heartwarming

How We Built It

Frontend: HTML5, CSS3, JavaScript (ES6+), Vite, Google Fonts
Backend / Auth / DB: Node.js, Express.js, Supabase (PostgreSQL), Google OAuth, http-proxy-middleware
Movie Data & Availability: TMDb API, OMDb API
Chrome Integration: Chrome Prompt API
Storage: Supabase Cloud DB + Browser Local Storage
Dev & Workflow: Git, GitHub, Cursor, Base44
Deployment: Vercel

Core Architecture:

  1. User enters a mood description (e.g., “I feel nostalgic but hopeful”)
  2. The system analyzes the emotional tone and intent using Chrome’s Prompt API
  3. It computes emotional similarity between user mood and movie metadata
  4. Prioritizes movies available for immediate streaming
  5. Generates movie ticket-style cards with personalized emotional messages

Challenges We Faced

  • Maintaining authentication state across browser pages
  • Handling loading states during real-time recommendations
  • Ensuring emotional results feel human, not random
  • Debugging the Chrome Prompt API — some recommendations may repeat
  • Managing different streaming regions and data consistency
  • Creating UI that looks and feels like a cinema experience

But overcoming these challenges taught us more than we expected —
about user emotion, real-world integration, and resilient development.


Final Thought

Mood2Movie isn’t just about what to watch.
It’s about how you feel —
and giving every user a story that supports them.

Built With

Share this project:

Updates