
Flix Over Six
A full-stack movie discovery platform that surfaces quality films (IMDb 6.0+) available on your streaming services.
The Problem
Streaming fatigue is real. With content spread across Netflix, Disney+, Prime Video, Apple TV+ and Paramount+, finding something genuinely worth watching has become a chore. Recommendation algorithms optimise for engagement, not quality — and they only show you what's on their platform.
Flix Over Six aggregates catalog data from every major streaming provider, cross-references it with IMDb ratings, and filters out anything below a 6.0. The result: a single, region-aware interface where you can browse only the films that are actually worth your time, across all your subscriptions.
Architecture
The core architectural insight is that movie catalog data doesn't change in real-time — new titles land daily at most. This means the entire discovery experience can be powered by static JSON files rather than a live API, giving CDN-speed performance with zero server load at browse time.
A five-stage ETL pipeline runs nightly via GitHub Actions: fetching TMDB data, downloading IMDb ratings, merging and reconciling sources, generating semantic vibe tags, and exporting per-region static JSON catalogs for US, GB, IE, CA, AU, and NZ.
Key Features
Region-Aware Streaming Discovery
Users select their region and streaming services. The app loads that region's catalog and filters in real-time — six regions supported, each with its own pre-computed dataset.
Smart Filtering
Multi-dimensional filtering by genre, vibe tags, rating range, language, and streaming provider. Active filters display as removable chips with a clear-all option.
Daily Selects Carousel
Three algorithmic picks: Top Pick, Sleeper Hit, and Anniversary — curated daily from the catalog.
Random Luck
A playful discovery mechanic with three spinning wheels — Era, Genre, and Provider — that surface matching films with three nudges per spin.
Vibe Tags
Semantic tags computed by the pipeline: sleeper-hit, quickie, golden-oldie, Big Name Energy, and decade-based tags that go beyond genre.
User Accounts
Clerk-powered authentication with persistent preferences, personal watchlists, and watched/not-interested tracking synced across devices.
Tech Stack
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router) |
| Language | TypeScript |
| Styling | Tailwind CSS 4 + shadcn/ui |
| State | Zustand |
| Database | Supabase (PostgreSQL) |
| Auth | Clerk |
| CI/CD | GitHub Actions |
| Testing | Vitest + Playwright |
| Analytics | Google Analytics 4 |
Testing & Quality
- 256+ unit tests covering components, stores, hooks, pipeline logic, and data validation
- E2E tests via Playwright for critical user flows
- Strict TypeScript with zero type errors
- Zod validation at data boundaries
- Pipeline safety checks preventing empty data exports
Interested in a similar project?
Get in Touch