A Horn
success story

Horn builds a low-code audio/video streaming application with Akka

Executive summary

Horn is a flexible live voice and video engine capable of handling a wide array of audio/video-related tasks. Customers can create virtually any product related to online communication. The Horn development team selected Akka to serve as the primary framework for building the solution due to Akka’s performance, resilience, and unique stream processing capabilities.

The challenge

The Horn team was looking to create a flexible platform capable of serving reliable, high-performance audio and video streams on demand for a diverse set of environments, audiences, locations, and applications. These solutions were aimed at enterprises that needed to leverage video and audio in very specific ways, with each unique to their own customer base. These applications included online learning, virtual events, web conferencing, telepresence, remote health, customer support, and even online musical performances and events.

Unlike purely data applications, live voice and video streams have specific bandwidth, performance, and reliability requirements that go beyond typical data streaming needs. Users and customers alike have strong expectations for live audio and video, and any lag, jitter, or other performance issues with audio/visual streams can deliver a poor impression for potential customers, clients, patients, and performers alike. As a result, the need for a resilient, high-performance platform is paramount for these use cases.

Akka was an easy choice since it had all of the attributes we needed; reliability, scalability, and the flexibility to adapt to unique customer environments.

Tomasz Wujec
Lead Backend Developer. Horn

The solution

After evaluating multiple approaches, the team selected Akka as the foundation for its Horn platform, as it delivers the ideal combination of reliability, performance, and ease-of-use that allowed them to get to market in record time and quickly iterate and add new features as its customers’ needs evolve.

The Horn platform uses Akka to deliver multiple features, including:

  • Easy Integration – Streamlined integration with a customer’s existing infrastructure, including ability to seamlessly embed functionality into a website within minutes.
  • Flexibility – A diverse range of configuration options, offering unparalleled flexibility to tailor the solution to suit the precise needs of any project. Enables quick extensions to perfectly fit a customer’s specific requirements.
  • Custom Functionality – Every application and use case using the platform is unique. Customers can work directly with Horn to build new or customized functionality or simply enable/disable pre-built features and branding easily from a control panel.

"Despite the unpredictability of our bandwidth needs and the diverse requirements of our customers, we have had zero problems. Everything has been reliable and perfect," says Tomasz Wujec, Lead Backend Developer at Horn.

The results

The Horn development team leverages Akka to great effect, particularly its Akka Clustering functionality. Akka Clustering is a specific module within Akka that provides the tools and abstractions necessary for creating and managing clusters of Akka nodes. This presents a superior framework for building distributed systems and applications using Akka. With Akka, Horn has achieved:

  • Scalability – Akka enables scaling on a per-event and per-customer basis. Ten people can be served in one instant and immediately scale to hundreds on demand with zero degradation of service.
  • Reliability – Akka eliminates the need to worry about the system crashing and losing critical data. It simply goes back to where it was.
  • Performance – Horn has never had to worry about performance thanks to its use of Akka, particularly heavy streaming loads based on its audio functionality.
  • Future Innovations – The team is so pleased with Akka they are actively exploring the full array of Akka features and how they can leverage them for future versions of their platform.

Stay Responsive
to Change.