logo

Shortfilmed

A Scalable Streaming Platform for Short Films

MediaTech / Video Infrastructure

I. The Challenge

Independent filmmakers lacked a dedicated, affordable, and performant platform to showcase short films. Mainstream streaming services imposed high barriers, while DIY setups struggled with large-file delivery, device compatibility, and cost. The challenge: deliver a Netflix-style UX with enterprise-grade streaming and a clear path to subscriptions without heavy ops overhead.

II. The Solution & Architecture

Built an end-to-end pipeline where a Node.js ingest script runs FFmpeg to transcode films and generate HLS segments. The script uploads segments and playlists via the Supabase JS SDK to Supabase Storage, while metadata lands in PostgreSQL. The Next.js 14 frontend streams with HLS.jsand presents Netflix-style discovery (carousels, drawers, search). Next step (SE POV): add Supabase Auth + Stripe for tiered subscriptions and per-title purchases.

System Architecture

Node.js Ingest Worker
CLI/cron task orchestrating ingest lifecycle
FFmpeg Pipeline
Transcode + HLS segmenting (ABR playlists)
Supabase Storage
HLS segments (.ts) & playlists (.m3u8)
PostgreSQL Metadata
Films, genres, posters, playback stats
Next.js Frontend
HLS.js player, carousels, drawers (Zustand)
Netlify Deployment
Serverless hosting and edge caching
Supabase Auth (Planned)
RLS-backed access control, profiles
Stripe Subscriptions (Planned)
Tiers & per-title purchase/TVOD

III. Technology Stack

Frontend & Framework

  • Next.js 14 (App Router)
  • React 18 + Suspense
  • Tailwind CSS
  • Zustand (Global + Drawer stores)

Video Pipeline

  • Node.js Ingest Script
  • FFmpeg (HLS segmenting)
  • HLS.js Player
  • Plyr + React Player

Backend & Data

  • Supabase (PostgreSQL)
  • Supabase Storage (assets)
  • Supabase JS SDK
  • RLS (planned with Auth)

Infrastructure

  • Netlify Hosting
  • Optional S3 archive/export
  • next-sitemap + SEO
  • Ezoic / Ads (monetization)

IV. Results & Impact

99.99%

Reliable streaming delivery using HLS segments on Supabase Storage

20 GB+

Video processed & served via adaptive bitrate streaming for POC

50%

Lower editorial overhead via metadata ingestion & automation

SE-Ready

Auth + subscriptions designed for tiered access & PPV expansion

Key Learnings

  • Decoupling ingest (Node) from delivery (Next.js) prevents UI stalls and simplifies scaling.
  • HLS (with multiple renditions) dramatically improves playback across variable bandwidths.
  • Supabase Storage + Postgres keeps assets/metadata in one platform, reducing glue code.
  • Designing early for Auth + Billing avoids rework when adding subscriptions/TVOD later.
Professional headshot

Let's Connect

I'm always interested in discussing new opportunities, technical challenges, or potential collaborations. Feel free to reach out through any of the channels below.También hablo Español!

Typically respond within 24 hours