With offices in Beroun, Prague, Amsterdam and Johannesburg, our team of highly talented developers is building a world-scalable platform, delivering the best Subscription Video-On-Demand experience on the African continent and beyond. This blog is a place to share some of the stuff we are working on with you and other fellow engineers.

If you want to learn more about how we do things, you should check Guide to Showmax Engineering written by our CTO.

What we do

Showmax back-end is an in-house developed micro-service oriented platform. We love Open Source and a lot of our developers have been active members of OSS community. As we use OSS we also like to give something back in return through reporting bug, submitting pull-requests and open-sourcing own tools.

List of open source projects we use includes: Debian GNU/Linux, ElasticSearch, PostgreSQL, Varnish, HAProxy, nginx, RabbitMQ, Apache Spark, Apache Mesos and many others.

We support Open Source in various ways, mainly by encouraging our engineers to be part of the community, commit patches etc. We are also open-sourcing some of the tools we’ve built. You can find them at github/showmax. Many tools we do use on the infrastructure side are part of CNCF (Cloud Computing Computing Foundation). To support efforts of CNCF we have become a member during November 2017.

Majority of our back-end services are written in Ruby, Go or Python. We use EventMachine when writing applications in Ruby (Goliath as application server, executed via EinHorn). MRI as well as JRuby is used as our Ruby VM. Go would be typically used where we need large throughput. Example of such could be end-device event collection or routing of storage requests.

Showmax Technology Stack

But our platform is not only about APIs. Primary business resolves around video streaming. To comply with this, we have our own video encoding pipeline that can orchestrate encoding on hundreds of servers. We support multiple streaming protocols as well as DRMs (Digital Rights Management). We have also developed routing layer for our origin storages to be able to scale throughput and storage capacity based on our needs.

What would the streaming platform be without user front-ends? We maintain and develop applications for interesting set of devices. Large family of devices is served with JavaScript applications. Obvious ones are desktop and mobile browsers, but we also support embedded JavaScript engines. Namely on SmartTVs (Samsung, LG, HighSense), game consoles (PlayStation, XBOX) and STB (set-top boxes). We also have native applications for Android and iOS and AppleTV (tvOS).

Testing is an integral part of what we do. You can get more information from our testing page.

Planning and housekeeping of tasks is done via Phabricator. All our code is in git (we have own installation of GitLab CE).

Get in touch with us

Getting to know Showmax Engineers

Let’s talk

Found our work intriguing? Let’s have a chat. We are going to various events, please check the calendar below. You can also just send us an email at geeks@showmax.com.

Talked about us

We have been fortunate enough to receive a great coverage by independent writers: