Secure Messaging Platform with Super App Features
A secure messaging app built from scratch, with end-to-end encryption and a scalable architecture.Client
As the client’s core product evolved, they needed to integrate a messaging feature into it. Existing solutions at the time didn’t quite fit, as they were somewhat limited in terms of functionality. On top of that, in some countries, popular messaging apps are restricted or unreliable, which meant the client risked losing part of their audience.
Building a custom messaging solution became the most practical option. In 2018, the client approached us with this task. Since we were already working on their core product, it was a natural continuation of the collaboration.
Challenges
We started by analyzing the architecture and user flows of leading messaging solutions to understand how they were built and why certain technical decisions were made.
Throughout the process, we worked closely with the client to find practical trade-offs. The client had a clear understanding of what their audience needed, while we focused on how to implement that functionality in a simpler, faster, and more cost-efficient way.
This required a deep dive into how messaging systems work, including protocols, data flow, and communication mechanics.

1. Architecture Was Critical
Messaging systems are high-load by nature, handling requests from thousands of users per second. Message delivery and processing need to happen in near real time. Reliability and stability depend heavily on the architectural decisions made at the very beginning.

2. Security as a Core Requirement
Security is a primary concern in real-time messaging systems. At the time, end-to-end encryption was not yet standard across all messaging apps. This meant designing the system in a way that made any third-party access to message content impossible at the architectural level.
A Classic Messaging Experience with Extended Features
End-to-End Encryption Implementation
Implementing end-to-end encryption was a technically challenging part of the project. All types of private communication, including chats, images, videos, voice messages, files, and calls, are protected using AES-256-CBC encryption.
Application servers do not have access to users’ private keys. Keys are stored locally on user devices and never leave them. Messages can only be decrypted on the devices of the participants, with no access to content on the server side.
Enhanced Privacy Controls
To provide an additional layer of protection against potential threats, we implemented several privacy features:
— screenshot notifications;
— hiding media from the device gallery;
— no backup for deleted messages.
Modern Architecture Approach
For the backend, we chose a microservices architecture with Go as the primary language. It’s well suited for high-load systems thanks to its built-in concurrency model and predictable behavior under load.
Refined UI/UX
We had prior experience with mobile UX, but iOS sets a higher bar for interface quality and responsiveness. Smooth animations and a seamless user experience were essential requirements.
The design team did a substantial amount of work on the mobile side, their backlog was one of the largest in the project. We ran ongoing design reviews with the client and iterated on every element to refine the visual layer.
Gestures and interactions on iOS were fine-tuned with pixel-level precision. The result is an interface that feels intuitive, visually polished, and well-balanced.
Horizontal Database Scaling
Messaging systems generate rapidly growing datasets, which quickly become large and complex. It was important to ensure the database could scale efficiently. Horizontal scaling allowed us to improve performance by distributing data across multiple servers without compromising reliability.
Battery Usage Optimization
Every app consumes battery differently, and messaging apps are among the most demanding due to their background activity. Based on internal testing, we reduced smartphone battery consumption by up to 40% through:
— monitoring battery levels and adjusting update frequency based on them;
— reducing data transfer size (server-side compression of transmitted files and HTTP response caching).
Message Timer
We introduced disappearing messages, a feature that wasn’t widely available at the time. Users can set a message lifespan, after which it is automatically deleted from both the sender’s and the recipient’s devices.
Seamless User Experience
A messaging app needs to be accessible at all times. Some actions are more natural on a smartphone, while others are better handled on a desktop. Supporting multiple devices was a practical decision aimed at increasing user interaction with the product.
Cross-Platform Availability
Alongside mobile development, we built a web version of the app. The product is available on Android and iOS smartphones, Windows and macOS desktops, and even wearable devices like Apple Watch.
Technologies
iOS
Swift
Android
Kotlin
Backend
Go
Frontend
Angular
Cloud Infrastructure
AWS
Monitoring
Grafana
Database
MongoDB
Distributed Database
ScyllaDB
Result
The client gained a fully integrated communication layer within their core product, allowing them to keep users inside the ecosystem and expand usage scenarios.
The app was originally envisioned as a free product, with monetization built around a super app model. From the start, we designed the architecture to support the future integration of third-party services directly within the messaging environment.
These integrations enable users to perform everyday tasks, such as online shopping, banking transactions, utility payments, food delivery, and ride-hailing, without leaving the app.
The app resembles familiar messengers like WhatsApp and Viber, while also offering additional features without becoming overly complex or fragmented:
- audio and video calls;
- voice messages;
- video messages;
- file sharing (photos, videos);
- location sharing;
- group calls (up to 10 participants);
- end-to-end encryption;
- disappearing and hidden messages;
- groups and channels;
- large file transfers.
end-to-end encrypted communication with no third-party access to message content.
battery consumption compared to typical messaging apps (based on internal testing).
app downloads worldwide.
What happens next:
Having received and processed your request, we will reach you shortly to detail your project needs.
After examining requirements, our analysts and developers devise a project proposal with the scope of works, team size, time and cost estimates.
We arrange a meeting with you to discuss the offer and come to an agreement.
We sign a contract and start working on your project as quickly as possible.