Iflexion helped the customer implement real-time remote monitoring and management software as well as digitize workflows based on Agile development practices.
Context
The customer is a global network of 30+ affiliated media publishers with more than four million subscribers. The company was developing their custom workflow management system to support advanced content distribution and marketing. Designed for marketers by marketers, it was an all-in-one suite of tools for creating and scheduling marketing campaigns as well as managing content and promotions.
The customer’s major goal was to find a full-cycle development partner for comprehensive technical enablement of their system, while ensuring intuitive user experience along the way.
One of our past customers recommended Iflexion as a reliable technology partner, capable of establishing smooth software development processes and having a proven record of projects for media and entertainment. As a result, the customer chose Iflexion as a dedicated development team.
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.
Moving to SaaS
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.
UX Audit & Redesign
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.
The information architecture
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.
Architecture Redesign
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.
Monolithic architecture
Microservices-based architecture
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.
New Functionality
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.
Customer journey creation process
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.
Security Control
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.
Process
Java became the key technology of the solution due to its well-developed ecosystem, easy upgrade to new versions, and the codebase stability of its libraries and frameworks. Further into the project, we also complemented it with Kotlin to create new functionality.
Kotlin has all the advantages of Java while also being newer, allowing for faster development, ensuring better code maintainability and readability by being more concise, and preventing common development errors by design.
The system is event-based as it has to be fail-safe and continue functioning in the event of certain services being unavailable. The communication between the solution parts through the events provides for higher fail-safety than through traditional REST APIs.
Results
During more than 10 years of collaboration, we became a trusted technology advisor and development partner to the network of 30+ media publishers. Our team was fully responsible for developing the content distribution and marketing workflow management solution, delivering new features, migrating to the SaaS model and microservices-based architecture, and incorporating Agile development practices.
During our cooperation, we achieved the following results:
- We helped increase the number of affiliated media publishers using the solution from one to more than 30.
- We implemented real-time remote monitoring and management software and enabled the customer to get data updates hourly instead of weekly.
- We improved the application scalability by moving from a monolithic architecture to a microservices-based one.
- We automated software testing and deployment by setting up a CI/CD pipeline and running automated tests.