In the rapidly evolving world of software development, choosing the right programming language is essential for the success and growth of your business.

Table of contents

    A few words about Elixir

    Elixir, a functional programming language, is highly regarded for its productivity. This language optimizes coding efficiency, allowing less to be written while delivering more functionality - a trait reminiscent of the productivity strengths of Ruby. Despite its official release in 2014, Elixir leans on the extensive history and maturity of Erlang, providing it a robust foundation for handling high-availability applications. It's trusted by industry giants like Discord and WhatsApp, and its Phoenix framework equips developers with the tools to create sturdy web applications and sophisticated APIs. Bolstered by a secure and predictable programming environment along with a supportive community, Elixir stands as a formidable contender in the world of programming languages.

    The rising popularity of Elixir

    Elixir has been gaining significant traction in recent years as a functional programming language running on the Erlang virtual machine. Known for its scalability, fault tolerance, and performance, it is the ideal choice for building large and fast systems that can handle numerous tasks concurrently. Without further ado, let's present some of the very interesting companies that successfully adopted Elixir as one of their core technologies.

    Some of them we described here:

    5 top-tier companies that use Elixir

    8 SaaS Using Elixir and Phoenix in Production

    Stord

    Stord's backend infrastructure relies entirely on Elixir services implemented with the Phoenix framework. Their comprehensive logistics offerings encompass multiple products, among which is an order management system responsible for efficiently handling and organizing company orders and inventory. Acting as an intermediary between upstream systems like Shopify or other e-commerce platforms, the order management system seamlessly directs orders to the relevant downstream facility or warehouse management system (WMS). While Stord collaborates with various WMS providers, they have also developed their own WMS in-house, empowering their network of facilities with enhanced control and optimization capabilities.

    Adoption of Elixir in production by Stord

    Allegro Lokalnie

    It is a leader of e-commerce platforms in Poland that allows users to buy and sell second-hand goods locally. Allegro Lokalnie was created as an extension of Allegro, Poland's largest online marketplace. The company was also listed in the world's top 10 online retailers in 2020, with almost 194 million traffic and 283 million 2 years later. We could find there such companies as Amazon, eBay, AliExpress or Shopee. Allegro Lokalnie is a quite new product from Allegro, and it uses Elixir and Phoenix in its web frameworks because of its scalability and performance, as well as its ability to handle many concurrent users.

    Adoption of Elixir in production by Allegro Lokalnie

    V7

    Founded in 2018 by Alberto Rizzoli and Simon Edwardsson, V7 is a web platform that grants software engineers and machine learning specialists the tools to develop computer vision projects, automating visual tasks and driving efficiency in numerous industries. The platform leverages Elixir, Phoenix, and Cowboy to handle immense data and orchestrate Python nodes for machine learning tasks.

    V7's platform is revolutionizing several sectors, from routine inspection of infrastructure and medical examination to agriculture and farming. The automation of visual tasks is not just improving efficiency, but also reducing error rates. It's made possible by using neural networks, which V7 automates, thus accelerating the creation of high-quality training data.

    The platform uses Elixir to coordinate these tasks with a Vue.js application as the front-end, communicating with a Phoenix-powered API. To ensure the smooth execution of machine learning tasks, it uses a cluster of Python nodes controlled by an Elixir application running the Cowboy webserver. The whole case study about using Elixir in V7 you can read here.

    Adoption of Elixir in production by V7

    Multiverse.io

    A company that became the first edtech unicorn in the UK. Elixir was chosen by an external agency building the initial platform, but the Multiverse Senior Software Engineering Manager Razvan considers this as a fortunate coincidence, as Elixir turned out to be a robust tool that aids scaling and fosters healthy development. The language stands out with its robust environment, cohesiveness, easy navigation, useful documentation, and robust tooling.

    Multiverse uses Elixir with Phoenix and LiveView frameworks, which are well-received by their engineers. While Elixir is still considered niche, it is steadily gaining popularity. Hiring for Elixir remains a challenge due to the small community; however, Multiverse focuses on hiring great engineers regardless of Elixir experience and provides comprehensive onboarding and resources to help new hires get acquainted with the language.

    One of the Multiverse developers, a tech lead Chris Gregori was a guest on the Engineers podcast, where he told about the details of "Building Multiverse with Elixir" and how their elixir developers work.

    Adoption of Elixir in production by Multiverse

    Remote.com

    A platform for managing distributed teams, is another company that has embraced Elixir for its backend infrastructure. The choice of Elixir was made by Marcelo Lebre, the CTO and co-founder, who brought his prior experience with the language. Elixir was perceived as a progression from Ruby, maintaining a similar development experience philosophy, strong community and offering superior performance and future resilience. Today, Remote is using a Phoenix monolith with a set of 3rd party libraries such as Phoenix, Ecto, Oban and several others. As an active community member, Remote and Remote’s engineers contribute back by sponsoring and speaking at Elixir events and supporting several OSS packages.

    Adoption of Elixir in production by Remote

    Slab

    A real-time collaborative application for knowledge base and team wiki that uses Elixir programming language and the Phoenix web framework. It was created by Jason Chen in 2016, who had previously built collaborative web applications in Rails and Node.js but found issues with scalability and real-time processing.

    He chose Elixir and Phoenix because of their developer experience and their ability to build web apps with real-time capabilities. Elixir and Phoenix were used to implement major features such as real-time comments and asynchronous processing, and Erlang/OTP was used to solve synchronization problems for multiple users editing the same document.

    The Slab team values Elixir's ability to build complex systems with fewer dependencies and moving parts, making it easier to operate and update libraries. They also focus on onboarding new developers and offer learning resources to help them become productive with the technology. If you're interested in more information, check the case study.

    Adoption of Elixir in production by Slab

    Mozilla Hubs

    An open-source virtual social experience that allows users to build their own private spaces, communicate through avatars and enjoy a 3D social environment with their friends, colleagues or community. The Hubs team chose Phoenix as their backend technology, as they needed a capable solution to provide fan-out communication and coordinate how all avatars interact within the virtual spaces. The stack uses JavaScript with Three.js in the front-end, and the WebRTC voice channels are handled by designated voice servers, initially implemented with Janus and later ported to MediaSoup.

    Hubs Cloud allows users to run their own instance of Hubs with a single click, with Amazon CloudFormation instantiating Hubs inside the user’s account. The Hubs team is quite general, and learning Elixir happens organically while developing new features. Overall, the bet on Phoenix was successful, and the team highlights that Elixir and Phoenix reduced the effort needed to cause the largest impact across their whole product. The entire case study about using Elixir in Mozilla Hubs is described here.

    Adoption of Elixir in production by Mozilla Hubs

    Heroku

    A platform provides services and tools to build, run, and scale web applications, has two of its engineering teams, the Front-end team and the Vault team, actively utilizing the language. Initially, the Vault team employed Elixir for an internal service rewrite, proving successful and leading to further utilization. The Front-end team used Elixir to replace a problematic analytics service, and gradually migrated their numerous Node.js microservices into a single main Elixir application, drastically simplifying their operations.

    Heroku uses Elixir for its productivity, ease of maintenance, and the seamless integration of the Phoenix web framework. While the shift from Object-Oriented languages to Functional Programming posed initial learning challenges, the team agrees the benefits outweigh the difficulties, and Elixir's adoption continues to grow organically within the company.

    Adoption of Elixir in production by Heroku

    Conclusion

    The increasing popularity of Elixir as a functional programming language is evident in its adoption by various top companies and industries worldwide. Its scalability, fault tolerance, and performance make it an excellent choice for building large and fast systems that handle multiple tasks concurrently. The examples provided, such as Stord, Allegro Lokalnie, V7, Multiverse.io Remote.com and Slab, Mozilla Hubs, Heroku demonstrate the versatility and effectiveness of Elixir in meeting the diverse needs of these businesses.

    Its functional programming paradigm makes writing scalable and maintainable code simpler and more efficient. These attributes have proven to be invaluable in industries that require large-scale data handling, high concurrency, and fault tolerance.

    The success stories mentioned above illustrate the immense potential of Elixir in powering businesses across various sectors, from e-commerce and online gambling to remote team management.

    In a rapidly evolving technological landscape, choosing the right programming language can make all the difference in ensuring the success and growth of your business. As showcased by the companies discussed in this article, Elixir's robust capabilities and versatility make it a prime candidate for businesses seeking to enhance their technological infrastructure and stay ahead of the curve. If you want to learn more about it check: Why Elixir & Phoenix is a great choice for your web app.

    Need an IT partner? How can we help?

    As a Curiosum software development company, we specialize in Elixir programming language. We know how to use its greatest advantages and meet customers' expectations. Is there anything we can do for you? We help with:

    Elixir development

    Web app development

    Mobile App development

    React Native development

    Software consulting

    FAQ

    What is Elixir, and why do top companies adopt it?

    Elixir is a functional programming language known for its productivity, scalability, and performance. Top companies adopt it for its ability to handle high-availability applications, concurrent tasks, and large systems efficiently.

    How does Elixir support large-scale applications?

    Elixir supports large-scale applications through its scalability, fault tolerance, and ability to handle multiple tasks concurrently, making it suitable for high-demand systems.

    Can you list some top companies that have adopted Elixir?

    Top companies that have adopted Elixir include Stord, Allegro Lokalnie, V7, Multiverse.io, Remote.com, Slab, Mozilla Hubs, and Heroku.

    What benefits does Elixir offer over other programming languages?

    Elixir offers benefits such as efficient coding, robustness, and support for sophisticated web applications and APIs, setting it apart from other languages.

    How does Elixir enhance web development practices?

    Elixir enhances web development by providing a productive and secure programming environment, coupled with the Phoenix framework for creating robust applications.

    What are the challenges associated with hiring for Elixir roles?

    While Elixir is gaining popularity, the smaller community size can make hiring for Elixir roles challenging; however, companies often focus on hiring skilled engineers regardless of their Elixir experience.

    How do companies contribute to the Elixir community?

    Companies contribute to the Elixir community by sponsoring events, supporting open-source packages, and sharing their experiences and best practices.

    Curiosum Marketing Specialist
    Karolina Uske Marketing Specialist

    Read more
    on #curiosum blog

    Bringing SOLID to Elixir

    Bringing SOLID to Elixir

    The SOLID principles, originally designed for object-oriented programming, can also be adapted effectively to functional programming languages like Elixir. Read how to apply it to create more maintainable, scalable, and adaptable software systems.