Skip to content

Jonnysol/Movieport

Repository files navigation

🎪 MOVIEPORT - Voice-Controlled Magic TV

The ultimate voice-controlled streaming experience that feels like time travel!

Say anything → Watch instantly. No clicking, no searching, just pure magic.

✨ What Makes It Magic

  • 🎤 Hold SHIFT → Speak → Instant TV: Say "The Simpsons" and watch it appear
  • 🎲 Random Everything: TV shows pick random episodes from random seasons
  • 🧠 Smart Voice Recognition: "Simpson" finds "The Simpsons" even with transcription errors
  • 📺 Immersive Experience: Full-screen TV interface, no website clutter
  • 🔄 Never Fails: 4 video host fallbacks ensure content always plays

🚀 Quick Start

1. Install & Setup

npm install

# Add your TMDB API key to .env.local
TMDB_API_KEY=your_bearer_token_here

2. Ensure Whisper Works

cd ../whisper-local
source venv/bin/activate
python transcribe.py test.wav  # Should output transcribed text

3. Launch Magic TV

npm run dev
# Open http://localhost:3000

🎮 How To Use

  1. Hold SHIFT (don't click anything)
  2. Say any movie/TV show while holding SHIFT
  3. Release SHIFT
  4. Watch magic happen

Voice Command Examples

  • "The Simpsons" → Random episode from any season, starts in middle
  • "Avengers" → First Avengers movie, starts from beginning
  • "Breaking Bad" → Random episode, mid-episode start
  • "Star Wars" → Random Star Wars movie
  • "Office" → Finds "The Office", random episode

🎯 Core Features

🎤 Voice Control

  • SHIFT key activation - No clicking required
  • Local Whisper transcription - Privacy-first, works offline
  • Audio dimming - Video volume drops to 5% during voice input
  • Real-time feedback - Visual status of what's happening

🧠 Smart Recognition

  • Fuzzy matching - "Simpson" → "The Simpsons"
  • Handles speech errors - Works even with unclear speech
  • Popular content database - 70+ titles for intelligent matching
  • Fallback search - Multiple search strategies

🎲 True Randomness

  • Random episodes - TV shows never repeat the same episode
  • Random seasons - Jump anywhere in a show's timeline
  • Mid-episode start - TV shows start ~22 minutes in (the action)
  • Random fallbacks - Can't find it? Plays something random instead

📺 Streaming Infrastructure

  • 4 video hosts - VidSrc.cc, VidSrc.to, GoDrivePlayer, VidSrc.net
  • Auto-failover - Switches hosts automatically if one fails
  • Manual switching - Click server buttons if needed
  • Auto-play - No buffering screens, instant playback

🏗️ Technical Architecture

Voice (SHIFT) → Whisper → Smart Matching → TMDB → Random Selection → Video Hosts → Magic TV

Key Components

  • MagicTV: Core immersive TV experience
  • Smart Search: Intelligent voice-to-content matching
  • Video Hosts: Multi-source streaming with fallbacks
  • Voice Recognition: Local Whisper integration
  • TMDB Integration: Content metadata and search

Smart Features

  • Instant switching - Say something new, immediately switch content
  • No loading screens - Seamless transitions between content
  • Error recovery - Multiple fallback strategies
  • Responsive design - Works on desktop, mobile, tablet

🎪 The Experience

This isn't just a streaming site - it's magic time-traveling TV:

  • Effortless control - Just speak and it happens
  • Serendipitous discovery - Random episodes encourage exploration
  • No decision fatigue - No endless browsing, just instant entertainment
  • Living room experience - Feels like having an AI-powered TV remote

🔧 Development

Environment Variables

TMDB_API_KEY=your_bearer_token
TMDB_BASE_URL=https://api.themoviedb.org/3
TMDB_IMAGE_BASE_URL=https://image.tmdb.org/t/p/w500

Key Files

  • src/components/MagicTV.tsx - Core experience
  • src/lib/smart-search.ts - Voice recognition intelligence
  • src/lib/video-hosts.ts - Streaming infrastructure
  • src/lib/whisper.ts - Voice recording & transcription

API Routes

  • /api/transcribe - Local Whisper integration
  • /api/search - TMDB content search
  • /api/tv-details/[id] - Episode information

🎯 Educational Purpose

Built to understand and demonstrate:

  • Voice-controlled interfaces - Natural language interaction
  • Streaming aggregation - How content platforms work
  • Fuzzy matching algorithms - Handling imperfect input
  • Multi-source reliability - Failover and redundancy
  • Real-time media control - Seamless user experiences

📚 For AI Agents

See MOVIEPORT_CONTEXT.md for complete technical context, development history, and AI agent guidelines.


Built with: Next.js, TypeScript, Tailwind CSS, Local Whisper, TMDB API
Status: Fully functional magic TV experience ✨
Last Updated: July 26, 2025

About

Voice-controlled media OS for finding, matching, and launching streaming content with local Whisper.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors