A CRM/ERP system developed for one of the largest medical centers in the Ural Federal District. It was created to solve the lack of a reliable and transparent process for handling inbound traffic. Over time, the project evolved from a narrowly focused lead management tool into a central platform connecting content management, marketing, call center, and reception operations.
The system aggregates all incoming traffic, including detailed call data, automates notifications and campaigns, provides analytics, content updates, and secure data storage, including integrations with insurance providers.
It features direct integrations with key external services and additional connections such as WAMM for WhatsApp Business API integration.

It is deeply integrated with the Hospital Information System (HIS) and adheres to stringent patient data security standards while delivering high performance, scalability, and ease of modification.
When selecting an architectural style for our system, which serves a limited number of users within a local business context, scalability and high performance are not the primary drivers. Instead, priority is given to the following critically important aspects:
Considering these requirements, the choice fell on a Service-Based architecture. Within this approach, backend components are implemented as fully functional, autonomous quanta, each possessing a broad area of responsibility while being strictly limited to a specific business domain.
For instance, chat functionality is separated into an independent service, while call handling and request processing are combined into a single, monolithic backend module.
It is important to note that each service, if necessary, can utilize its own dedicated database, unrelated to the databases of other services. This achieves strict data segregation and prevents unwanted overlap of entities from different domains.
CRM Integrations with Other Systems
As part of our work with the CRM, the following have been implemented:
The CRM system’s frontend is built with Next.js. The Mantine component library significantly reduced development time, standardized a large portion of the codebase, and simplified ongoing maintenance.
State management is handled by Zustand. In the near future, TanStack Query will be introduced to optimize data handling and provide a clearer separation between data and component layers.
Data exchange is implemented via both REST API and WebSockets, enabling real-time communication between modules and client interfaces.

The system's backend is developed on the FastAPI framework and features a modular architecture divided by domain areas. Key modules include user administration, call and request processing, and an integrated chat. Auxiliary services for receiving and preprocessing requests are implemented in Rust. Redis is used for queue management, and PostgreSQL serves as the primary database for all services.
The CRM system features roles for the reception, content management, and call center, each with a distributed access rights system for every section. In addition to managing incoming leads, the following functionalities are implemented:
From a business perspective, developing a proprietary CRM/ERP system delivers clear economic and strategic advantages compared to adopting and customizing third-party products.
First, the total cost of ownership (TCO) is significantly lower—no licensing or subscription fees, and no vendor lock-in. Second, the “single-window” architecture allows deep customization and direct integration with the SMT Clinic’s Medical Information System (MIS) without costly API adaptations or dependency risks.
Market analysis revealed that none of the existing CRM/ERP platforms simultaneously meet the following key criteria:
Attempts to extend off-the-shelf systems resulted either in compromised security and performance or escalating maintenance costs and vendor dependencies.
In contrast, the proprietary CRM/ERP platform ensures transparent budget control, faster deployment of new modules, and independence from external contractors. The project is deeply embedded in the clinic’s core operations: the first release (pre-integration phase) was delivered in less than one month from project kickoff. Ongoing maintenance follows a principle of frequent, meaningful functional updates without exponential growth in development costs.
If necessary, I can involve designers, data analysts, and senior-level developers in the project