Solution
In the course of our 10-year cooperation, we moved the customer’s system from the outdated ASP technology to a modern technology stack using .NET, adopted a SaaS model, ran UX audit and redesign, changed the solution’s architecture to a microservices-based one, phased out legacy features, and added new functionality.
Initially, the marketing solution was developed just for one media publisher. Once other affiliated publishers recognized its value and set about adopting it, we would create a new instance as soon as in one week. Moreover, when a new feature was added to the application, we had to manually set it up for all the organizations. To simplify these processes and save time, we moved the system to the SaaS model.
Our team merged different setups into a single base, implemented organization management, and configured user roles and permissions, which cut the process of adding a new organization down to an hour. Currently, more than 30 media publishers are using the app.
When new publishers joined the solution, each of them required their set of new features, which were not always relevant for other SaaS subscribers. As a result, the solution became so complicated for new users that onboarding could take weeks. To improve user experience and ensure efficient onboarding, we ran UX audit.
Based on the findings, we revised the structural design of the information space so that users could fulfill their tasks in a few clicks. To simplify the navigation, we eliminated the major content division in the Marketing and Mailings sections and instead provided simultaneous access to them.
Next, our team separated user account and user management workflows and introduced an independent analytics and reporting component. To make all workflow entities discoverable at once, we suggested pushing them to the global menu dropdown.
Taking into account end users’ and stakeholders’ feedback, we redesigned the search tool by joining three interactive search panels and simplifying long-nested filter dropdowns by grouping filters into logical units.
Additionally, we improved the weekly planner UX by bringing third-party calendar and scheduler views under a single interface.
Our dedicated team revised the solution’s architecture for the following reasons:
-
As a monolithic system, the solution was difficult to support as the number of new features grew.
-
It was costly to scale in case traffic increased, since it required new resources.
-
Some of the system’s features were no longer relevant as their users became defunct while many new affiliates joined.
-
The customer wanted to move from fee-based Windows servers to free-of-charge Linux servers.
Considering these issues, we offered to redevelop the solution from scratch and move it from a monolithic architecture to a microservices-based one.
Together with the customer, we revised the application and agreed on redundant features. One half of our team was supporting the existing solution, while the other started developing the new system.
We used Docker for services containerization and OpenShift for managing the containers. To develop user interfaces, our team leveraged React. We also applied TypeScript to simplify development of complex interfaces. We chose .NET Core for developing backend services and deploying Docker containers on Linux. Microsoft SQL Server was chosen for managing database files, while Redis was used for database caching. We used RabbitMQ as a message broker, which is easy to configure and maintain.
Apart from phasing out legacy features, we also added new functionality to the new system. For instance, we digitized customer journey mapping for better productivity. Each customer’s journey included multiple steps, like adding a new user to the subscribers base, redirecting users to a landing page, sending an email if a user didn’t complete the registration process, and more. Previously, marketers had to map all those steps manually, which led to messy diagrams and errors. We automated those processes, enabling marketers to create customer journeys right in the system.
We also implemented the feature for creating targeted campaigns and emails, with each campaign having a unique tracking code. We then enabled real-time marketing analytics with automatic hourly updates in place of their legacy error-prone system, which was based on spreadsheets and scattered across several backend solutions.
Additionally, Iflexion integrated the solution with the customer’s internal systems, including their CRM system, email engine and lead processing tool used to verify emails, run them against the blacklist, and more.
To ensure data security, we introduced the functionality that required all newly subscribed publishers and their employees to be registered in the customer’s Active Directory to get access to the application. The solution was also equipped with single sign-on so that users could enter their login credentials only once to access all the available solutions. It was the safest option as it reduced the likelihood of error while also improving user experience.
Additionally, we made sure sensitive user data was encrypted to provide GDPR compliance and protection.