Inspiration

Have you ever tried to find a movie or manga based on a specific feeling, only to realize search engines only understand genres, actors, or rigid plot keywords? We realized that human beings don't remember stories by metadata, they remember them by atmosphere, moral dilemmas, and raw emotions. We wanted to build a bridge between human feelings and digital libraries. This inspired us to create SceneMind, an emotionally intelligent storytelling expert that translates abstract human feelings (like "a rainy afternoon melancholy" or "friendship slowly breaking under pressure") into highly precise media recommendations.

What it does

SceneMind is an AI-powered media discovery platform for Cinema, TV, Manga, and Graphic Novels. Instead of rigid keyword search, it offers:

  • Thematic & Emotional Search: Users can search by vibe, psychological themes, or moral conflicts, and receive highly relevant recommendations along with AI-generated reasoning on why it matches.
  • The Mood Compass UI: An interactive matrix for comics and manga that lets users combine Emotions, Weather/Setting, Story Vibe, and Genres into a single query.
  • Fictional Character Psychoanalysis: A side-by-side comparison engine that breaks down the motivations, moral frameworks, and tragic flaws of any two characters.
  • Subconscious Taste Profiler: By analyzing a user's favorite titles, SceneMind acts as a media psychologist, revealing the recurring narrative motifs and psychological profiles the user is subconsciously drawn to.

How we built it

We built SceneMind using a robust, high-performance tech stack tailored for deep semantic understanding:

  • Brain & Reasoning: We leveraged Google Vertex AI and Gemini 2.5 Flash for lightning-fast generative reasoning, structured outputs, and thematic extraction.
  • Vector Ingestion Pipeline: We scraped data from TMDB, Wikipedia, Jikan (MyAnimeList), AniList, and Comic Vine. We then used Gemini offline to process raw plots into dense "thematic architectures" (JSONs containing emotional themes, archetypes, and tones).
  • Embeddings & Database: We embedded these dense thematic blocks using gemini-embedding-2 (truncated to 768 dimensions) and stored them in MongoDB Atlas. We utilized Atlas Vector Search with cosine similarity and dynamic type filtering to ensure perfect search isolation between comics and movies.
  • Frontend & Backend: The UI is a Next.js (App Router) application styled with Tailwind CSS, featuring a premium "Dark Academia" aesthetic. The backend is a Python FastAPI service hardened with Tenacity retry layers.
  • Deployment: Both services are containerized with Docker and deployed on Google Cloud Run for automatic scaling.

Challenges we ran into

  1. The "Short Query" Vector Problem: Terse user queries like "rainy melancholy" resulted in poor vector recall against long plot summaries. We solved this by building a Mood Expansion Engine, intercepting short queries and using Gemini to dynamically expand them into a 3-4 sentence atmospheric paragraph before vectorizing, resulting in perfect cosine alignment.
  2. API Quota Exhaustion: During heavy testing, we hit rate limits (HTTP 429) on various APIs. We implemented a production-grade Self-Healing Resilience layer using Python tenacity, which introduces random exponential backoffs to gracefully pause and retry without crashing the app.
  3. Vector Filtering Complexity: We encountered crashes when aggregating filtered vector searches if the MongoDB index wasn't perfectly mapped. We engineered a dual-layer search recovery pattern: if the filtered vector pipeline fails, it falls back to a broad vector query and applies safe, in-memory filtering.

Accomplishments that we're proud of

  • Successfully bridging multiple distinct APIs (TMDB, Jikan, AniList, Comic Vine) into a single, cohesive vector ecosystem.
  • Achieving incredibly dense and accurate semantic recall by embedding Gemini-generated "thematic metadata" rather than relying on raw plot text alone.
  • Designing a stunning, tactile Dark Academia UI that perfectly complements the literary and cinematic nature of the app.
  • Building a fully automated Python test suite that validates latency, schema, and vector retrieval accuracy across all endpoints.

What we learned

We learned that the quality of vector search is entirely dependent on the quality of the ingested context. By using LLMs as a pre-processing step to inject emotional and psychological metadata into our database records, we achieved search results that felt almost magical compared to standard embedding techniques. We also learned how crucial fallback mechanisms and retry layers are when building distributed systems reliant on external AI APIs.

What's next for SceneMind

  • Personalized User Accounts: Allowing users to save their "Subconscious Taste Profiles" and dynamically update them as they watch new shows.
  • Spotify/Apple Music Integration: Automatically generating thematic playlists that match the exact mood of the movie or manga the user just discovered.
  • Expansion into Literature: Applying our Mood Expansion Engine to fiction books, poetry, and classical literature.

Built With

  • docker
  • fastapi
  • gemini-2.5-flash
  • google-cloud-build
  • google-cloud-run
  • google-vertex-ai
  • jikan-api
  • mongodb-atlas
  • mongodb-vector-search
  • next.js
  • python
  • tailwind-css
  • tmdb-api
Share this project:

Updates