✨ 2021 Update: This case study was originally published in 2015. Six years later, our partnership with Coursera has endured and only grown closer. Read what's new at the end of the article. Read the update ›

When it comes to online education, there are few sites that can match the scale of Coursera.

Coursera provides universal access to the world's best education. Through their partnership with many prestigious universities and established educational organizations, they are able to offer courses that cover a wide variety of specializations, ranging from Robotics to Roman Architecture. These online courses are free and available to everyone.

A rich blue background with the Coursera logo in front.

Coursera's online education allows their partners to reach millions of students at the same time, as opposed to the few hundred that can reasonably be accommodated by any traditional lecture hall. Moreover, since many of these people had no previous access to higher education of this caliber, Coursera also provides them a unique opportunity to get access to better and higher paying jobs.

The Problem

With just under a thousand courses available at any given time, Coursera provides education on a massive scale. There are over sixteen million students registered on the site, many of whom are actively pursuing their educational goals.

Since its foundation in 2012, Coursera has grown exponentially and brought on board many more university partners. This success, however, also came with its fair share of difficulties. For one, Coursera's technical team found itself forced to deal with an ever increasing variety of formats and codecs.

It became clear that their existing infrastructure was no longer up to the task and that they needed a better solution. In addition to this, with the launch of a new peer review system, the site was now also required to handle uploads from students in a safe and consistent manner.

As Jon Wong, Staff Software Engineer at Coursera, explains:

Jon Wong

Even though the previous home grown solution had worked for a while, our upload usage eventually began to grow too large for our team and infrastructure to handle. As more learners and professors joined the platform, the team would spin up more machines to handle this additional load. At a certain point, however, too many resources were being diverted in order to handle this. This led us to begin searching for a third-party solution.

The Solution

Initially, the engineering team at Coursera had not been searching for a transcoding solution at all. Since the uploading of large files was the main issue at hand, that was what they sought to address. However, when their engineers stumbled upon Transloadit, they saw that the company not only provided uploading services, but also had transcoding available.

Transloadit jumped out as an immediate solution to our problems.

– Jon Wong

The only other viable solution that was explored was to proceed with the status quo, which would have meant continuing to scale machines to handle the load.

After discovering Transloadit, however, we ultimately rejected that solution and opted to spend resources on the integration of their services.

Why Transloadit?

When Coursera was faced with the monumental task of converting tens of thousands of videos from old formats to new, mobile-friendly formats, they turned to Transloadit to help them figure out the best solution.

As Jon explains:

Because the engineers working on this project had no previous experience with something of this magnitude, it has been invaluable to have discussions with Transloadit on how to approach our problems. Due to the variety of web and mobile devices and bandwidth speeds, lecture videos uploaded by professors need to be compressed and subsequently transcoded into between 15 and 20 different formats for distribution. This process is particularly complex and we worked closely with Transloadit to find a solution. Instead of the same videos for everyone, we can provide smaller videos for those with limited bandwidth, even going as far as audio-only files for the truly bandwidth-starved.

Back in 2014, Coursera also implemented HTTP Live Streaming in order to better facilitate what their learners spend the majority of their time doing on the website: watching videos. Whether it is a thirty-second snippet or an hour-long lecture, all content has to run smoothly and must be accessible from a variety of platforms.

When we were working on our HLS implementation, we had some 70,000 - 100,000 different videos on Coursera that had to be re-processed with HLS in mind. Not only did Transloadit help us with this immense task, we worked closely on figuring out an optimal HLS implementation, both from a client (us) and a service (Transloadit) side. Transloadit's continuous support is what makes all the videos on Coursera possible.

In Summary

By using the services provided by Transloadit, Coursera can continue to be a great resource to learners all across the world.

The flexibility provided by Transloadit allows us to better serve our learners. We are able to give them the content they desire, in a way that conforms to the means by which they access us.

Having a solution for both uploading and transcoding has been a godsend for the current scale that we are at, three years after first choosing Transloadit.

Jon Wong as Staff Software Engineer at Coursera

Update: Six years down the road

A lot has changed since 2015, the year in which we originally wrote this case study. Especially in this past year — as humanity grappled with the currently ongoing COVID-19 pandemic — the world has seen a huge shift toward at-home education, and as a result Coursera has welcomed tens of millions of new students onto their platform.

Throughout these years, the partnership between Coursera and Transloadit has endured and only grown closer. With learners and educators continuing to find their way to Coursera in high numbers, the company is relying more than ever on Transloadit to support its file-uploading and media-encoding needs. In 2020, Coursera has also begun to make use of Uppy, our open source file uploader, and started making contributions to its ongoing development. Coursera is now using Uppy to power its new Live2Coursera feature, which allows educators to quickly move online by integrating Zoom lectures into their courses.

Eric Lin, Software Engineer at Coursera, has the following to say about their continued collaboration with Transloadit:

As the engineer responsible for maintaining Coursera's digital asset management infrastructure, I've had the pleasure of working with Transloadit for several years now. Transloadit provides a robust and well-documented platform that we use for handling millions of file uploads, as well as for transcoding media assets in various formats so that we can best serve our learners' needs. This ease of use has allowed engineers from different teams across the organization to be able to create dozens of customized assembly templates that fit their particular use cases without requiring much specialized knowledge.

I would be remiss if I did not highlight Transloadit's excellent customer support. While I work with many vendors in my role as the owner of our asset management infrastructure, Transloadit is perhaps the only one I'd consider to be a true partner — I've consulted with Tim multiple times in the past about potential solutions, and he has also proactively reached out to me about improvements and optimizations that we could adopt. Other engineers at Coursera have also worked closely with Transloadit, such as to integrate with Transloadit's excellent open source file uploader, Uppy.

In summation, Coursera has been happily working with Transloadit for over 8 years, and I look forward to our continued partnership in the future.