## MoodReel 🎬
Stop scrolling. Start watching.
## 💡 Inspiration
We've all been there: thirty minutes of scrolling through endless thumbnails, only to close the app without watching anything. The problem isn't a lack of choice — it's a paralysis of it. Traditional recommendation engines ask you to think in genres ("Action," "Comedy," "Drama"), but that's not how humans actually feel.
Sometimes you don't know the genre you want — you just know the vibe.
That single insight inspired MoodReel. We wanted to build a recommender that meets you where you are emotionally: not a search box that demands keywords, but a companion that understands a feeling, a rainy window, the dim light of a room at 2 AM. The goal was to turn "I feel like…" into "…watch this" in a single, cinematic motion.
## 🛠️ What It Does
MoodReel is a next-generation AI recommendation engine that translates mood → movies:
- Multimodal mood input — Type how you feel, or upload a photo of your environment. The AI reads the emotional state, lighting, and context of the image and text together.
- Streaming recommendations — Six perfectly matched films appear in real time as the AI thinks.
- Cinematic UI — 3D hardware-accelerated tilt cards, dynamic high-res posters, and seamless in-app YouTube trailers.
- Vibe Tickets — Generate a beautiful, shareable card explaining why a movie fits your exact mood.
## 🏗️ How We Built It
The stack is intentionally lean and modern — React 19 + TypeScript + Vite, styled with Tailwind CSS v4.
## The Brain: Gemini 2.5 Flash Vision
The core of MoodReel is analyzeMoodAndGetMovies. Rather than embeddings or a trained classifier, we lean on Gemini 2.5
Flash's multimodal reasoning. We construct a prompt (optionally bundling a base64-encoded image as inlineData) and constrain
the model with responseMimeType: "application/json" so it returns a strict, typed array:
interface MovieRecommendation {
title: string;
why_it_matches_mood: string; // the emotional fit — the heart of the app
tmdb_id: number;
media_type: 'movie' | 'tv';
// ...rating, director, genre, year
}
Log in or sign up for Devpost to join the conversation.