- Security
- A
To build or not to build... your own messenger — that is the question
Building a corporate messenger in-house: exploring potential pitfalls with data and real experience, without drama. It's not always a bad idea; sometimes it's the right choice.
Work chats, task discussions, files, quick calls — all this has long since moved from email to messengers. But the global situation has seriously changed the approach to this.
Companies that previously used public messengers without worry have started thinking about data control, security, and dependence on external services. As a result, many are coming to the idea of switching to corporate solutions — either deployed in-house or at least under the company's control. And it's at this moment that the following thought often arises: "Since we're switching anyway — maybe build our own messenger?"
The idea sounds logical. Moreover — it almost always seems economically justified at the start. But in practice, it's one of the most underestimated projects we've encountered.
We are a team that develops the Frisbee corporate communications platform. We've been on the market for over 10 years. During this time, we've repeatedly seen the same story: a company decides to "build its own chat," allocates a few months for it, and after a year or two either revises its approach or turns to ready-made solutions.
Let's try to break down why this happens — without dramatization, but with figures and real experience. And immediately an important caveat: we don't believe that building your own messenger is inherently a bad idea. Sometimes it's the absolutely right decision. Especially if the company has a strong engineering culture, resources, and an understanding that it is essentially launching a separate product within the business.
The problem is different. In most cases, the decision to "build our own" is made with expectations on the level of "it's just a chat." But what has to be implemented is a system on the level of a full-fledged communications platform. And it's this gap between expectations and reality that most often breaks projects. Let's look at where it arises.
Where chat ends and product begins
To be honest, building a chat isn't a problem. Any experienced developer can assemble a prototype in a couple of weeks. Simply sending messages hasn't been rocket science for a long time now.
And this is where the first pitfall arises: it seems that scaling is simply "adding more features" (we wrote in detail about how these very features are born in a messenger here).
In practice, at some point it becomes obvious that a corporate messenger is no longer just a chat, but a full-fledged platform with hundreds of functions that must work equally effectively on all types of devices. The user does not perceive it as an "internal tool" and expects the same level of quality they are accustomed to in public products. So that everything synchronizes, searches quickly, doesn't break, works on a phone, and doesn't lose messages.
From this point on, the project ceases to be a "task for the development team" and begins to turn into a separate direction.
A Bit About Money
The most common mistake is underestimating the cost of the team.
If we talk about a minimally viable configuration, it's no longer a couple of developers. It's full-fledged functional teams (feature teams), consisting of backend programmers and frontend development (web and thick clients), mobile development for iOS and Android, business analysts, UI/UX designers, testers, as well as groups of engineer-architects, DevOps teams, DevSecOps, and NetOps, technical writers, information security specialists, as well as 24/7 on-call technical support teams and monitoring and operations teams.
At the same time, the task of each feature team is to develop one of the messenger's functions in such a way that upon delivery to users, it provides consistent user experience across all devices. This is where the most interesting part for budgeting lies—the volume of features, the number of teams, time, money. There are several hundred standard features in messengers. The cost of one feature development team can be roughly estimated based on job portal data. But how quickly you want to get the product will depend on the number of feature teams and the development timelines for each of the hundreds of functions. Plus, on top of all this, you need to calculate the infrastructure team, the security team, and the operations team.
This approach is the same whether you are trying to create something from scratch or scenarios where you base "your development" on someone else's basic open-source groundwork. The only difference is that in the second case, your list of necessary features for users will be slightly smaller at the start. Therefore, at the very beginning, this move seems tempting, but the devil is in the details, emerging after several months of investment.
The point is that the list of custom feature requests never ends, appetite for changes, and sometimes initial disappointments, arise precisely during usage. And if you based your work on something not created by you, in most cases, developing a new feature or improving basic functions may require significant resources. This leads to new timelines and investments in further development.
Timelines in this case range from a year to a state that is at least minimally deliverable to users. If the company is initially prepared for such investments, it's a normal story. But more often, expectations are different: "we'll assemble an MVP in a couple of months, and then figure it out." Practice shows that "figuring it out" doesn't happen here, and the company's costs for a pseudo-product by the end of the year significantly exceed the cost of purchasing a ready-made full-fledged solution.
Where Complexity That Cannot Be Accelerated Begins
However, if a company moves towards building its own product, issues that cannot be "done faster through effort" surface quite quickly.
For example, architecture. Message delivery, their order, offline operation, synchronization between devices—all this seems obvious until you start implementing it in a real system.
And the most unpleasant part is that errors here are rarely visible immediately. They manifest somewhere after a year, when the system is already used by a large number of people. At that moment, rewriting a piece of architecture becomes an expensive and painful solution.
In parallel, infrastructure grows. A messenger is not a service that can be "restarted overnight." It must always be operational. Hence, orchestration, monitoring, logging, and fault tolerance appear. And all of this requires separate competencies.
Security is a unique story—often the very reason a company even considers its solution. But in practice, security isn't a feature; it's a process. Regular audits, pentests, and vulnerability analyses.
And, of course, the diversity of clients and devices on which the application's functionality must be available: mobile clients (iOS, Google Android, Huawei), browser clients, apps for macOS, Windows, Linux—without them, a messenger in 2026 simply isn't perceived as a corporate work tool. This means synchronous teamwork on every function is a constant concern.
Life after release: the most underestimated stage
There's one aspect almost always overlooked at the start. Even if you've invested 1 billion rubles and built some product—that's not the finish line. It's only the beginning.
Because then the system's active life begins: users constantly want new features, requirements change, integrations appear, bugs get polished. And the team can't disband because the product starts living its own life. At Frisbee, releases come out regularly (essentially every month), and that's a normal pace for this class of products.
But that's not all. For today's sophisticated user, simply pouring in new features isn't enough: they need to be accessible, shown, taught—packaged and presented. So our team, for example, constantly produces training and overview videos on new features with professional video production, writes press releases, creates text guides, explaining not just how, but why, for what purpose, and whether it's convenient. User expectations keep growing, and stopping development here simply isn't an option.
We have seen several cases where companies rushed into custom development, invested a year or two in it, and then still returned to our ready-made solutions. Not because they failed, but because support and development turned out to be more expensive than expected. Moreover, this is not about conditional small and medium businesses, but about major players in the Russian market with a large number of engineers on staff. But even they "got burned" with such a seemingly simple thing as developing their own messenger. Everyone should focus on their own business. Leading companies in various niches earn from their products and services, developing an internal product for them is always a cost. Companies lost time, investments, tons of expectations, diverted resources from their core business, but in the end returned to us or to colleagues in the market.
So, is it worth making your own messenger?
If a company consciously wants to build a product, is ready to invest in it for years, build competencies, and understands that this is a separate area of responsibility — then yes, it makes sense.
If the goal is not to build a product but to solve a business communication task, then ready-made solutions are cheaper at the start, clearer in terms of timelines, and don't entail ongoing expenses.
From our side, we simply share how it looks from the inside. Without trying to dissuade or, on the contrary, persuade. And then it's much more interesting to hear your experience.
Does your company have a corporate messenger? Have you tried using your own solution and what came of it? How many employees are in your company? Write in the comments what you use and what features are important to you in corporate messengers.
Write comment