A beautiful web application that helps you identify movies and TV shows from descriptions, powered by OpenAI and enhanced with rich metadata from TMDB.
- 🎬 Smart Content Recognition: Describe a scene and get accurate movie/TV show identification
- 🖼️ Rich Visual Experience: Beautiful cards with posters, backdrops, and cast photos
- ⏰ Timestamp Detection: Find specific moments within episodes or movies
- 📺 Comprehensive Details: Ratings, cast, crew, genres, and plot summaries
- 📱 Responsive Design: Works perfectly on desktop and mobile
- Sign in to the OpenAI dashboard
- Create an API key (or retrieve an existing one)
- Copy the key — you'll add it to your environment shortly
If you're using Azure OpenAI or a proxy endpoint, also note the base URL and model deployment name you'll need to target.
- Go to TMDB
- Create a free account
- Navigate to Settings → API
- Request an API Key (choose "Developer")
- Copy your API key
Create a .env file in the project root:
OPENAI_API_KEY=your_openai_api_key_here
# Optional: set if you're using Azure OpenAI or a proxy endpoint
OPENAI_BASE_URL=https://api.openai.com/v1
# Optional: override the default model (defaults to gpt-4o-mini)
OPENAI_MODEL=gpt-4o-mini
TMDB_API_KEY=your_tmdb_api_key_here
PORT=3000If you're using the default OpenAI API (api.openai.com), you can remove OPENAI_BASE_URL or leave it empty. The OPENAI_MODEL variable lets you pick a preferred model; omit it to fall back to the default.
npm install
npm run devVisit http://localhost:3000 and start asking about your favorite movies and shows!
Try asking:
Content Identification:
- "Which South Park episode has them playing with toilet rolls?"
- "What's the movie where Tom Hanks is stuck on an island?"
Scene-Specific Queries (automatically includes timestamps):
- "The scene where they're in a diner talking about tipping in Pulp Fiction"
- "The part where Walter throws pizza on the roof in Breaking Bad"
- "The scene where Harry kills the snake in the second Potter film"
- "The moment when Neo dodges bullets in The Matrix"
Explicit Timestamp Requests:
- "When does Neo die in The Matrix?"
- "At what point do they talk about royales with cheese?"
This app is configured for easy deployment on Vercel:
-
Install Vercel CLI (optional):
npm i -g vercel
-
Deploy:
vercel --prod
Or connect your GitHub repo to Vercel for automatic deployments.
-
Set Environment Variables in Vercel dashboard:
OPENAI_API_KEY: Your OpenAI API keyOPENAI_BASE_URL: Your OpenAI endpoint (if using Azure)OPENAI_MODEL: Your preferred model (e.g., gpt-4o-mini)TMDB_API_KEY: Your TMDB API keyNODE_ENV: production
npm install
npm run devThe application provides API endpoints:
- POST
/api/ask: Main content identification endpoint - GET
/api/health: Health check endpoint
{
"question": "Your movie/TV question here"
}Response includes both OpenAI identification and rich TMDB metadata with images, cast, ratings, and detailed information.
- Frontend: Modern HTML/CSS/JS with beautiful responsive design
- Backend: Express.js server with OpenAI integration
- Data Sources:
- OpenAI GPT for content identification
- TMDB API for rich metadata, images, and cast information
- Features: Real-time search, loading states, error handling, and mobile-friendly UI
