The trouble at FACEIT was hiding in a list. A competitive gaming platform needs to know who is around, which channels they belong to and what roles they have. As those lists grew, the old system became sluggish. Erlang Solutions, which had previously helped implement its messaging software, returned to deal with the decidedly unglamorous business of making the names move faster.
The consultancy upgraded MongooseIM and Erlang, then built a specialised data structure for large presence lists. FACEIT’s published account credits the work with doubling performance and reducing maintenance effort. The fix was specific to the workload. Buying more computing capacity was not the centrepiece of the story.
“Our platform now handles 250,000+ users with double the speed”
Alexej Haak / Senior Engineering Manager, FACEIT
That is a useful introduction to Erlang Solutions. It sells consultancy, software development, reviews, training and support for distributed systems: applications whose work is spread across communicating components. Its customers need messages delivered, services kept available and growing demand absorbed without a permanent emergency in the engineering department.
Telecom habits, internet problems
Founder Francesco Cesarini began his career alongside Erlang’s inventors at Ericsson’s computer science laboratory. He later co-authored the O’Reilly books Erlang Programming and Designing for Scalability with Erlang/OTP. That background places the business close to the people and practices behind its principal technology.
Cesarini established the consultancy in 1999. Ericsson became its first customer a week later. The company’s history records an early adjustment in 2001: as the IT crash hit telecom businesses, Cesarini developed training material and the firm delivered its first Erlang course. Teaching became part of the offering, rather than a sideline reserved for quiet afternoons.

Erlang and Elixir share the BEAM runtime, the environment that executes their programs. Elixir adds a different language and a web ecosystem that includes Phoenix and LiveView. Companies can therefore build modern web applications while drawing on Erlang’s long-established machinery for concurrency and recovery.
One useful idea is supervision. Small processes do work; supervisors decide what should happen when a child process exits. Depending on the configured strategy, recovery can restart one child or a wider group. This gives engineers a structured way to contain faults. It also makes the design of dependencies important: restarting the wrong things together can turn a small incident into a larger one.
One-for-one supervision confines the restart to the failed child. Recovery rules are an engineering choice.
The commercial appeal is straightforward. A company does not need to become a programming-language enthusiast to value a service that recovers cleanly. It does need engineers who understand what recovery means for its particular data and users. That gap between a language feature and an operational system is where a specialist consultancy earns its place.
A mongoose with separate rooms
MongooseIM, the company’s open-source XMPP messaging server, makes that work tangible. Developers can use it as the messaging infrastructure inside their own applications, with features such as group conversations and message archives. It gives a team something substantial to build on before it starts adding its own business rules.
At Beekeeper, which connects frontline employees through a mobile workplace platform, the awkward requirement was multi-tenancy. Each customer needed an isolated space, and customers had to be added and removed dynamically. Duplicating a complete installation for every organisation would increase resource demands and operational complexity.
The teams first protected backwards compatibility and filled feature gaps. Erlang Solutions then changed MongooseIM’s core handling of domains, allowing dynamic domains to share configuration types. Beekeeper’s account also describes separating chat from its monolithic core, improving its ability to change features. The lesson for another team is to identify which boundaries must remain firm before deciding which resources can be shared.
TeleWare arrived with a different constraint: adding messaging for a banking customer under time pressure. It considered an instant-messaging-only version of its application, then chose integration into the existing app. MQTT and SIP were among the options ruled out before it settled on XMPP.
MongooseIM’s existing features, hosting autonomy and compatibility with that application helped win the decision. TeleWare adapted push notifications to its Azure service and used MUC Light for mobile group chat. Its published deployment used three Ubuntu virtual machines on AWS, with a load balancer and an Aurora MySQL database. This is the level at which “end-to-end” becomes meaningful: the product must fit the systems a customer already operates.
Five million people should notice nothing
The same business extends beyond chat. TV4 needed to consolidate user information spread across databases while bringing TV4, C-more and Finland’s MTV toward a unified authentication experience. The audience was already there. Moving its accounts could not be treated like launching an empty application.
Erlang Solutions’ case study reports migrating five million subscribers to a user-management application without downtime, using Elixir. It also reports lower server consumption and infrastructure costs. The result belongs to that project; it is not an automatic property of choosing a language.
The practical takeaway is to define success in terms the audience experiences. In TV4’s case, the work concerned identity and access behind a streaming service. A migration can be technically complete and still disappoint if people cannot sign in. For a buyer, that makes continuity a requirement to design around from the start.
The invoice follows the responsibility
Erlang Solutions’ business model combines paid engineering engagements with reviews, teaching and continuing support. Its consultancy process begins by establishing business priorities, and can include a proof of concept with costs, goals and results agreed between technical and business participants. A customer can buy a bounded piece of diagnosis before committing to a larger implementation.
Support is divided into Basic, Business, Enterprise and Extended packages, with different allowances and commitments. The distinction is useful because a development experiment and a live customer service place different demands on the people answering the tickets. The higher-level plans include commitments to provide a resolution plan within specified working-day windows.
Software acquisition is only one part of that calculation. Open-source MongooseIM gives a team access to the code; operating a tailored deployment still means integration, testing and maintenance. TV4 and FACEIT report savings in infrastructure or maintenance. Those are the cost categories a prospective customer should examine against its own engineering and operational spending.
WombatOAM addresses the continuing work. It exposes information about running BEAM systems, including process state, message queues, alarms and node topology. Engineers can inspect a system while it is operating and connect its monitoring to other tools. The company offers a 45-day trial, a concrete way to explore whether that visibility is useful in a particular environment.
The ownership economics are more explicit. Trifork announced its controlling investment in 2011. Its 2025 annual report records paying €5.024 million for another 8.1% in 2024, reaching 95%, then €3.130 million for the final 5% in 2025. Erlang Solutions became wholly owned. The report also says its group absorbed Open Credo’s business in 2025.
The specialist has neighbours
The market position is a combination of depth and delivery. Erlang Solutions can advise on architecture, contribute implementation work, teach the client’s engineers and support the resulting system. A customer whose trouble crosses those boundaries has a reason to consider the combined offering.
There are alternatives. Dashbit offers an Elixir development subscription with code reviews and expert access, charged per developer seat. ProcessOne offers ejabberd, another Erlang-based messaging platform, with commercial support and managed deployment options. An experienced internal team can also assemble and operate open-source components itself.
The choice depends on the job. A team that mainly wants advice may value a subscription. One that wants someone else to operate messaging may prefer a managed service. A bespoke migration with substantial legacy integration can justify hands-on consultancy. These are buying distinctions, not a ranking of programming languages.

Knowledge sharing is also part of the company’s public identity. Its GitHub organisation publishes MongooseIM and other projects; it supplies downloadable packages and powers the Code Sync conference family. Its LinkedIn description puts the team at more than 120 people. These activities give customers ways to encounter the engineers’ work before hiring them.
The limits deserve equal attention. A specialist engagement makes sense when the value of reliability, diagnosis or integration warrants the effort. A modest application with conventional requirements may be adequately served by its existing stack and team. Adding technology creates responsibilities as well as capabilities. The useful question is which operational problem the change will actually remove.
A museum guide joins the menagerie
Recent work shows both continuity and expansion. MongooseIM 6.5, announced in January 2026, improved RabbitMQ event pushing, helping messaging events reach other services. In April, the company described SAFE’s static-analysis approach to security in BEAM applications. Both concern the less visible connections and behaviours that make production software difficult.
Tourio takes the company into a more visible setting: museums, galleries and exhibitions. The AI visitor guide answers questions using institution-curated content, with options including existing apps, messaging apps and browsers. Its offering includes answer evaluation and content controls intended to reduce incorrect responses. Here, the visitor’s question replaces the chat platform’s presence list, but integration and correctness still matter.
For a prospective customer, the most useful starting point is a precise problem: an overloaded list, a tenant boundary, a migration that must preserve access. Erlang Solutions’ more revealing projects begin there. The language comes with a history; the engineering still has to earn its keep.
Open the code. Meet the people.
Company website · Engineering blog & news · MongooseIM on GitHub · Try the messaging demo
LinkedIn · Twitter / X · Instagram · Facebook
Watch / the founder explainsErlang Programming Language: Francesco Cesarini on Computerphile ↗