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

“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.
Hover or tap a component to see what it does and what it talks to.
- Client
- Service
- Data
- AI / ML
- External
04 — Engineering challenges
- 01Migrating from Upstash Redis to Redis Cloud after hitting command limits in production
- 02Fixing ERR max number of clients reached by refactoring BullMQ to use two shared IORedis connections
- 03Resolving avatar hydration errors using a custom AvatarEventEmitter pattern
- 04Fixing PostgreSQL date timezone shifts using ::text and ::date casts
- 05Building a complete subscription system with real-time usage tracking across three payment providers
- 06Implementing watch party synchronization so all participants stay in sync during playback
- 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