A sleek streaming-style web interface for discovering and watching movies and TV shows, powered by the TMDB API and embedded players.
- Browse trending movies, TV series, animations, and more
- Genre filtering for movies and TV shows
- Search across movies, TV shows, and people
- Favorites & Watchlist with local storage persistence
- Watch history tracking
- Detail modals with cast, recommendations, and similar titles
- Built-in player with HLS streaming and subtitle support
- Responsive design — works on desktop and mobile
- PWA-ready with service worker for offline support
- No build step — just open and run
- Clone or download this repository
- Copy
.env.exampleto.envin the project root and paste your TMDB API key:
cp .env.example .envThen edit .env and paste your key:
TMDB_API_KEY=your_api_key_here
You can get a free API key at themoviedb.org/settings/api.
Simply open index.html in your browser:
# macOS
open index.html
# Linux
xdg-open index.html
If you prefer to serve it over HTTP:
python3 -m http.server 8080 --bind 0.0.0.0Then visit http://localhost:8080.
Nekyflow/
├── index.html # Main entry point
├── .env # TMDB API key
├── sw.js # Service worker (PWA)
├── css/
│ └── style.css # All styles
└── js/
├── api.js # TMDB API wrapper with caching
├── app.js # Main application logic
├── config.js # Configuration
├── player.js # HLS video player
└── ui.js # Carousel and UI components
- Vanilla JavaScript — no frameworks
- HLS.js — video streaming
- TMDB API — movie/TV metadata and images
- StreamIMDB — embedded video playback
This project is for personal use only. TMDB data and images are subject to TMDB Terms of Use.