Холмс, кажется, вы в России...
Reading time: 10 minutes
Looking for a development team?
We can help with design and development of apps for businesses and startups
B2B company Smartway Travel Group operates in the business travel niche. To manage key internal processes, they used the cloud-based service called Intercom. However, there was one challenge: the high cost of the Intercom subscription, while not all of the service’s features were utilized by the company. Additionally, it was missing some critically important features that could make their work more convenient and efficient.
This case study describes how we developed a custom Intercom alternative to meet the needs of the support team in less than a year. The team consists of over 300 employees.
Smartway Travel Group offers an online service for the end-to-end organization of business trips.
To organize a trip, users don’t have to switch between platforms to book tickets, reserve hotels, or arrange transfers. Everything can be done on a single platform. This saves time and is highly convenient. After a trip, the service automatically uploads all necessary accounting documents, simplifying reporting.
If a ticket needs to be changed due to a schedule update or reservation cancellation, Smartway Travel Group’s support team can resolve these and other issues. Over 300 support specialists are available via a dedicated chat widget or email.
The chat widget in the client’s personal account
To organize their support service operations, Smartway Travel Group used a ready-made solution Intercom. It has tools for customer communication: real-time chats, analytics settings, email campaigns, and much more.
It wasn’t possible to configure only the necessary features and avoid paying for unused ones. For example, they never used the AI bot or messenger integration. Moreover, Intercom lacked some features that were truly essential to Smartway Travel Group.
The company has an in-house development team, but their specialists were busy with other projects — the new service needed to be built and launched quickly. As a result, they decided to involve an outsourced team to handle the task.
Smartway Travel Group reached out to us at Purrweb in December 2023. The task was straightforward: create a clone of Intercom with custom features. In January, we already started working on the project.
The in-house team joined the project later. The Smartway Travel Group team took responsibility for some of the functionality related to their back office, as we didn’t have access to it. Thanks to their involvement, we were able to prepare for the release much faster.
Intercom is a widely popular tool for support or sales teams, but why wasn’t it a perfect fit for our client?
The main issue was weak automation, which affected multiple processes. For example, support specialists were spending their valuable time manually filling out forms instead of assisting customers. Managers had to process some data manually to get a comprehensive view of metrics and indicators. They spent hours — or even days — preparing monthly reports. And this wasn’t the only problem.
Our goal was to release a pre-launch version in September 2024 and test it with a limited group of users. The full launch was scheduled for November 2024, which gave us around 10 months to get everything done 🕐
Here’s what we had to accomplish:
Initially, we called the project “Intercom clone” — a pretty straightforward name 🙂 And soon, it was officially named Smartchat. This name references the company Smartway Travel Group but also emphasizes that the chat system needs to be “smart” — it supports crucial business processes for the client.
Although Intercom wasn’t the ideal solution for Smartway Travel Group, some of its features were crucial to keep in Smartchat. To determine which features to take and which to adapt, we worked closely with the client at the project’s start.
The clients shared detailed insights into how Smartway Travel Group’s support team operates, what they liked about Intercom, and what their pain points were. For example:
To make it clearer how Smartchat is similar to Intercom and what makes it better, we’ve created a comparison table 👇
The main goal of Smartchat is to help the support team resolve client queries quickly and efficiently. Therefore, workflows must be intuitive to minimize the cognitive load on agents.
Smartchat supports three user roles: agent, admin, and super admin. The latter can create new roles and give access rights.
In Smartchat, we added the ability to archive any entity, including agents. This is crucial for collecting statistics.
Here’s how the chat screen looks from an agent’s perspective. While preserving familiar patterns from Intercom, we enhanced usability for a better experience.
The interface design follows Smartway Travel Group’s brand guidelines, including typography and color schemes. They ensure a visually clean and concise UI.
Only agents with access rights receive messages. Permissions can cover all chats, chats of specific teams, or only those for which the manager is responsible. Access is updated in real time. Clients see only their own queries.
The super admin can edit roles and define the level of access to messages for an agent. For example, they can make sure that a specialist sees only the messages assigned to them.
All messages are distributed automatically. Manual distribution happens in rare cases. For example, when a client selects the wrong topic and when the message needs to be reassigned to another team.
The @mention feature allows support team members to tag colleagues, giving them access to specific chats, even if they don’t have permission.
Chats can be “snoozed” for a specified period, temporarily removing them from the active list. This is useful when the client’s query depends on an external provider’s response. If there’s activity or the snooze period ends, the chat returns to the active list.
Support specialists can leave notes within chats that are visible only to the team. This ensures that important context isn’t lost when the query is reassigned to another agent.
We also implemented a feature for admins: the history saves even messages deleted by agents. This functionality was missing in Intercom, but now it’s possible to restore chat logs.
Our clients needed Smartchat to provide detailed analytics. We developed dashboards for admins to view data on any activity on the platform.
We created a heatmap similar to Intercom’s, allowing clients to view chat activity statistics for every hour by week, month, or custom period.
This is just a part of the functionality 🙂 We also implemented features like replying to customer emails directly within the chat interface, full-text message search, creating macros for quick canned responses, and much more.
How we made the chat handle 1,666 messages per minute 😈
One of the client’s main requirements was stable chat performance, as this directly impacts efficient customer service. This isn’t our first project where chats are a core flow. For instance, we developed Grecha.pro, a restaurant procurement app with an omnichannel chat, and Talentum, an app where freelance chefs take orders and where all communication happens in chat.
But those were startups, while this is a large-scale business. Smartway Travel Group’s support service can handle over 500 chats per hour! We understood that during load testing, the chats: a) must not crash and b) must handle a flood of messages. Let’s say we ensure smooth operation at 500+ chats per hour, but what if there are more? 700? 1000?
That’s why we decided to test the load at 1,000 chats per hour. We estimated that the maximum number of messages in a single chat wouldn’t exceed 100. Based on this, the service’s peak load was calculated at 100,000 messages per hour = 1,666 messages per minute 😈 or 27 messages per second. Smartchat handled everything and stayed chill.
We understand that sometimes development stories can feel a bit like quantum physics. But we can’t help but share the cool solutions our developers have come up with! We’ve picked the most interesting and important ones. Don’t worry — there won’t be any quantum physics talk, we’ll explain everything simply 🙂
✉️ Message delivery. What’s the most important thing in a chat? You’re correct: message delivery, so that the messages don’t get lost and are delivered to the recipient. For this, we used RabbitMQ — it ensures fast and accurate delivery, sending the message from the client to the right specialist who can handle the issue.
⚖️ Chat balancer. To implement this, we used BullMQ (task queue through Redis). It automatically assigns tasks based on load, and high-priority queries, such as those related to upcoming trips, are processed first. The balancer also supports the “snooze” — allowing chats to be suspended and resumed later.
🖥️ Integration with Smartway Travel Group’s back office. The team developed a microservice to exchange data between Smartchat and their internal system. Thanks to this integration, queries are automatically created when there are changes in the customer’s trip, reconciliation acts are generated, and internal requests allow for clarifications without notifying the customer. Integrating this new system into an already-fine-tuned mechanism on the client’s side was a challenge, but we successfully handled it.
📈 Chat optimization. At first, we used PostgreSQL to store chat data (messages, who reads them, and when). During testing, we realized this solution couldn’t handle high loads — the data processing speed dropped. We needed an alternative. We chose Scylla because it could handle high loads while providing fast writing, reading, and scalability. This solved our performance issues with data growth.
🔎 System monitoring. For this, we selected the Prometheus Stack — it’s great for collecting metrics and setting up alerts (notifications about errors and failures). We implemented monitoring for all Smartchat services and also created libraries and monitoring templates that we’ll use for other large-scale infrastructure projects.
In November 2024, we released Smartchat. Now, more than 50 members of the Smartway Travel Group support team have moved to it. We also connected 10 clients to the Smartchat widget. By early 2025, we plan to move the entire support department to Smartchat, and our clients will fully migrate from Intercom.
We’re not stopping our work on the project, and we will continue adding new features to make Smartchat even more convenient and faster. The backlog is so big that it’s worth a separate article 🙂 Here are just a few of the features in development right now:
➡️ Need to complete a complex project in a tight timeframe, but your in-house team lacks resources? We at Purrweb can help. We’ll dive into your business context, coordinate with your internal team, understand the specifics of your business processes, and find the best technical solution.
Got a task? Discuss it with us. We’ll tell you how long the implementation will take, create a roadmap, and outline the budget.
How useful was this post?
Rate this article!
0 ratings, аverage 0 out of 5.
No votes so far! Be the first to rate this post.
As you found this post useful...
Follow us on social media!
Read more
Thanks for your inquiry. It usually take up to 24 hours to get back with reply.
Wanna schedule an online meeting?
Sorry, something went wrong with your request.
Please, try again later.