SaaS Platforms Live

FlixVideo

AI-powered movie and TV discovery platform with subscriptions, watch parties, real-time search, and multi-gateway payments.

Category
SaaS Platforms
Status
Live
Core stack
Node.js · Express · Next.js · TypeScript · PostgreSQL
flix-video-ten.vercel.app
FlixVideo screenshot

“Watch parties, AI recommendations, 3 payment gateways”

01 — Overview

FlixVideo is a full-featured AI-powered streaming and movie discovery platform. It combines real-time content data from TMDB with AI recommendations and a rich social experience.

The backend is Node.js/Express with a PostgreSQL + MongoDB hybrid database architecture. The frontend is Next.js with TypeScript deployed on Vercel, backend on Render.

02 — What it does

  • 01AI-powered movie and TV recommendations using Claude AI/OpenAI
  • 02Real-time search with autocomplete and Redis caching
  • 03Watch party system with WebSocket-based synchronized playback and live chat
  • 04Subscription tiers (Free, Basic, Premium) with usage-based feature gating
  • 05Multi-gateway payment support: Stripe (card), M-Pesa (mobile money), and NOWPayments (crypto)
  • 06Social features: following, lists, ratings, and reviews with nested comments
  • 07Admin dashboard with moderation tools, analytics, and user management
  • 08Background job processing with BullMQ and Redis for async tasks
  • 09Avatar storage on AWS S3 with presigned URLs
  • 10Prometheus and Grafana monitoring deployed on Oracle Cloud Free Tier

03 — Architecture

An Express API backed by PostgreSQL and MongoDB, with Redis caching, BullMQ jobs, WebSocket watch parties and AI recommendations.

System architecture · Streaming discovery platformInteractive
Client
API & realtime
Data & jobs
Services

Hover or tap a component to see what it does and what it talks to.

  • Client
  • Service
  • Data
  • AI / ML
  • External

04 — Engineering challenges

  1. 01Migrating from Upstash Redis to Redis Cloud after hitting command limits in production
  2. 02Fixing ERR max number of clients reached by refactoring BullMQ to use two shared IORedis connections
  3. 03Resolving avatar hydration errors using a custom AvatarEventEmitter pattern
  4. 04Fixing PostgreSQL date timezone shifts using ::text and ::date casts
  5. 05Building a complete subscription system with real-time usage tracking across three payment providers
  6. 06Implementing watch party synchronization so all participants stay in sync during playback
  7. 07Setting up Prometheus metrics collection and Grafana dashboards on Oracle Cloud Free Tier VM

05 — Stack

  • Node.js
  • Express
  • Next.js
  • TypeScript
  • PostgreSQL
  • MongoDB
  • Redis
  • BullMQ
  • Stripe
  • M-Pesa
  • NOWPayments
  • AWS S3
  • Socket.io
  • Prometheus
  • Grafana
  • Docker

Next project

Logistics Application