Media, broadcast & mission
A self-hosted video platform, owned end to end.
A Vimeo-style platform: HLS adaptive streaming, an FFmpeg transcode worker, domain-restricted embeds, team RBAC.
An organization wanted to publish and embed its own video without depending on YouTube or Vimeo, owning the hosting, the analytics, and control over exactly where its videos were allowed to play.
We built a self-hosted video platform: chunked uploads to object storage, an FFmpeg transcode worker producing HLS adaptive streams, and an embeddable player with per-video domain restrictions so embeds only play on approved sites. Around it: VTT/SRT captions, view analytics, and team collaboration with role-based access. A Redis/BullMQ job queue drives transcoding, and the data model covers users, teams, videos, captions, views, and jobs. It is a full media pipeline, not a wrapper around someone else’s.
- The organization owns its entire video pipeline: no YouTube or Vimeo dependence, no third-party ads on its content, and no platform that can demonetize or remove it.
- Domain-restricted embeds mean its videos only play where it approves, control a hosted service would never give up.
- It’s a real media pipeline: adaptive HLS, a transcode worker, captions, analytics, and team roles. It scales with the content, not with an invoice.
- Analytics and hosting stay in-house, so audience data belongs to the organization rather than a platform.
self-hosted, no YouTube or Vimeo
plays only on sites you approve
smooth streaming on any connection
video-hosting SaaS it replaces (est.)
Client name and identifying details withheld by design. Every figure here is drawn from the system we actually delivered.
More case studies
All workMembership & advocacy · Organization-wide platform
One operating platform for a 600,000-supporter organization.
ReadData architecture · Coordinated back-office systems
Four department systems that finally agree on who someone is.
ReadCommunications · Deliverability engineering
A self-hosted email operating system, built to survive Gmail.
ReadYour work would get the same discretion.
Tell us what's breaking. We'll tell you whether we've solved something like it. And if we take it on, your name stays yours.
Start with a diagnostic