Riding the crest of a wave, surfing skilfully down its face and into joyful triumph.

Is that too much? Whatever. It’s how we felt after we delivered a bespoke, configurable video recording application for the modern web to our client.

Sometimes you’re in the right place at the right time and it feels like a project was meant to be. When a client approached us with a tired, Flash and WebRTC based video recorder and asked can we do better?, it was just such a time.

Out with the hefty backend servers

Browser native APIs (Application Programming Interface) for capturing and recording had been bubbling away in beta for many years. Indeed some components were already prime-time but to make recordings you needed hefty backend servers to do the heavy lifting. This gets costly and scaling for demand is hard. We saw an opportunity coming over the horizon that would allow us to create a powerful web recorder without the need for such dedicated backend infrastructure; instead making use of scalable, cloud based services incurring low costs only at the point of use.

It goes fast, it’s cheap and works anywhere in the world you want it to.

— Pat Smith, Cursive

Let scalable, lightweight services do the heavy lifting

Our bespoke Django application handles the marshalling of video recordings directly from a user’s device to Amazon S3. From there, through a transcoding pipeline (the science bit (wait, this isn’t a hair commercial?!)) using Amazon Lambda functions and out to S3 storage. Every part of the process being easily configurable from each users account – including the final destination of the video content.

If the previous paragraph was a bit too much then know this: it goes fast, it’s cheap and works anywhere in the world you want it to. And for any GDPR lovers (if such a thing exists) where data gets stored is entirely configurable.

Want your video to be processed in Europe for GDPR compliance? No problem!

Need local processing and low bit-rate in South America to cope with restricted bandwidth? ¡No hay problema!

Need delivery to your own company’s S3 storage because corporate demands security? Go right ahead!

This application is being rolled out to services we never even imagined when we built it. And, as a testament to our design-to-delivery, this is being done by technical personnel outside of Cursive thanks to the documentation we wrote to support it.

A great success.

Tech stack

Python
Django
AWS
Heroku