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:
- User enters a mood description (e.g., “I feel nostalgic but hopeful”)
- The system analyzes the emotional tone and intent using Chrome’s Prompt API
- It computes emotional similarity between user mood and movie metadata
- Prioritizes movies available for immediate streaming
- 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
- base44
- chrome-prompt-api
- css3
- cursor
- express.js
- git
- github
- google-fonts
- google-oauth
- html5
- http-proxy-middleware
- javascript-(es6+)
- jsdelivr-cdn
- local-storage
- node.js
- omdb-api
- supabase-(postgresql)
- supabase-cloud
- tmdb-api
- vercel
Log in or sign up for Devpost to join the conversation.