skip to content
~/evgeny

Cloud video rendering and personalization

Two and a half years as team lead and main developer of a product that rendered customized video templates in the cloud.

org
VideoRemix
role
Development team lead
period
2017 – 2020
kind
employment
Popcorn.jsReactNext.jsAngularNode.jsRabbitMQ

VideoRemix customers turned video templates into their own videos, so the product needed a browser editor and a way to render video in the cloud. As team lead and main developer, I researched the rendering approach and designed and built both sides: a keyframe timeline editor and a Docker Swarm rendering cluster with a dispatcher feeding workers. Customers could customize a template, preview it and render the final video in the cloud.

VideoRemix let customers make their own videos from templates. That needed two things: an editor in the browser where a customer changes any element of a template over time, and a service that renders previews and finished videos in the cloud. The rendering approach also had to stay within the licences of the software it relied on.

  • Led the product as team lead and main developer, with developers I brought onto the team.
  • Researched how to render templated video in the cloud and chose an approach that stayed within the licences of the tools involved.
  • Designed the whole solution, front end and back end.
  • Built the editor: customers pick a template, customize its elements on a keyframe timeline, and run a preview or a full render.
  • Built the core backend for authentication, payments and project management.
  • Built the rendering backend: a Docker Swarm cluster where a dispatcher worker hands render jobs to intermediate workers.
  • Customers customized a template on a keyframe timeline in the browser, checked it with a preview render and got the finished video from a full render in the cloud.
  • Rendering ran across a Docker Swarm cluster, with a dispatcher spreading jobs over worker machines, which kept rendering fast.