It’s movie night. You and your folks are crowded around the TV and someone opens Netflix. The scroll begins. Fragmented genres, “new” releases nobody asked for, titles you half-recognise from a trailer six months ago. Twenty minutes in, you put on something nobody’s that excited about.
There’s no shortage of good content. The problem is that every streaming service is built to keep you inside its own catalogue, not to help you find the best thing to watch tonight. The suggestions are shaped by what you’ve watched before, and by what the platform wants you to watch next. Those aren’t the same thing.
Media Explorer is a straightforward fix for this. It lets you browse across every provider at once, filter by genre, language, or release window, and sort by popularity, professional rating, or recency. You pick the criteria, it shows you what’s good. No single subscription pretending to be the whole picture.
Built on Marq — a UI kit designed for media and entertainment products.
Stack
- Next.js 16 — App Router, standalone Docker output
- NextAuth v5 — credentials provider with JWT sessions
- Prisma 6 + SQLite — schema-managed database with migration history
- TMDB API — movie and series data
- Marq — in-repo design system (
@marq/core) - Panda CSS — zero-runtime styling inside Marq
Features
- Mobile-first, works great on any screen size; faster and more powerful on desktop for heavy browsing
- Browse by provider, genre, language, and release date range
- Sort by popularity, professional rating, or release date
- Virtualized list for fast scanning of large result sets
- Lazy-loaded pagination for seamless infinite scroll
- Searchable titles across movies and series
- Light / dark theme
- Animated UI
- Fully typesafe end-to-end
Deployment
Self-hosted via Docker. The multi-stage build installs workspace dependencies, compiles the Marq design system, generates the Prisma client, and runs next build. On container startup, a init script baselines migration history if needed, applies pending migrations, and seeds users from environment variables.