5 pm CET/ 10 am CST
Live Webinar "The Efficient AI Harness: What Your Project Really Needs"
Contact us

SaaS Stakeholder Management Software

Legacy software modernization and reengineering that helped a UK-based SaaS solution provider significantly improve performance and accessibility

ABOUT the project

Client:
Customer Management SaaS Solution Provider
Location:
Country flag

UK

Company Size:
50+ Employees
Industry:

Information Technology

Technologies:

Microsoft Azure

.NET 10

Blazor

Leobit transformed the UK’s leading stakeholder management software provider by migrating their complex, legacy platform to a secure, scalable, and future-proof cloud-native solution. This ambitious modernization initiative helped our customer move to the cloud without disrupting daily operations, improve business resilience, and support future growth and service expansion.

From the very beginning, we aimed to modernize the client’s monolithic WebForms system without disrupting their business operations. By introducing the Strangler Facade, adopting a vertical slice architecture in .NET 9, and using Blazor for the front end, we enabled a safe, incremental migration. This foundation helped our customer reduce operational expenses and simplify support and maintenance.

Vitalii Datsyshyn image

Vitalii Datsyshyn

Solutions Architect at Leobit

Team

Customer

Our customer is the UK’s leading stakeholder management software provider trusted by both private and public sector organisations. It provides organizations with the tools to support all stakeholder engagement needs, issue management, and decision-making.

Business Challenge

The customer was constrained by a legacy monolithic ASP.NET Web Forms application with a single-tenant architecture. For more than 130 clients, they ran 270 separately deployed IIS sites (134 live, 136 staging) on two web VMs, with 51 client-specific database forks. Every release stopped each client’s site in turn and took 22–42 minutes per site, so shipping even small updates was slow, risky, and expensive.

Because all business logic, UI, and data access were tightly coupled in the monolith, even small updates were slow, risky, and expensive to deliver. The single-tenant model also made scaling difficult and costly, limiting the company’s ability to grow efficiently. In addition, the outdated architecture hindered the integration of new technologies, raised concerns about performance and security, and left accessibility below modern standards.

Why Leobit

The client initially engaged Leobit to perform a technical audit of their legacy stakeholder management platform. Our team carried out a comprehensive assessment of the system’s architecture, performance bottlenecks, and modernization opportunities. Instead of recommending a risky full rewrite, we proposed a phased migration strategy supported by clear module dependency mapping, practical proofs of concept, and a strong focus on minimizing disruption to ongoing business operations.

What stood out to the client was not only the technical depth of our recommendations but also our work ethic, transparency, and collaborative approach. We realistically outlined possible risks and suggested several scenarios for overcoming them. Impressed by the clarity of our suggestions and the professionalism of our team, the client decided to move forward with Leobit as a long-term technology partner.

Project
in detail

Leobit rearchitected the customer’s platform into a modern, cloud-ready system capable of handling rapid growth, high availability, and advanced integration needs.

Project in detail

We had to devise a strategy that allowed both the old Web Forms app and the new modules to share authentication seamlessly. It allowed a user to log in only once and have access to both applications. Our solution involved developing a centralized identity provider and implementing token-based authentication that both systems could understand and trust.

In some instances, to provide a smoother user experience during the transition, we used iframe integration, embedding old WebForms modules within the new Blazor application. This required careful handling of security protocols and inter-frame communication.

The Blazor-based front end and modular back end enabled a more intuitive interface, smoother integration of new capabilities, and 6x faster response times. For instance, a query with two filter criteria took the old application 8 seconds to process, while the new application returned results in just 1.34 seconds. A more demanding query resulted in a timeout error on the old application after 100 seconds. The new application handled the same query successfully in only 3.86 seconds. Production telemetry later confirmed the benchmark results at scale: event search runs 5.5x faster at the 95th percentile (2,166 ms to 391 ms), and 95% of API calls complete in under half a second.

Modernization demonstrated a significant improvement in usability and compliance with accessibility standards. Using Lighthouse audits, the new pages consistently achieved a maximum score of 100, while the same legacy pages ranged from 68 to 93.

By moving from single-tenant environments to multi-tenancy, the client reduced infrastructure management costs and improved scalability. Our solution is projected to lower monthly infrastructure expenses by up to 80%, delivering significant long-term savings.

Leobit built a full email campaign module on Azure Communication Services, giving the customer’s clients an email builder with templates, scheduling, merge fields, open and click tracking, and opt-out management, with SPF checks and compliance confirmation built into the sending flow. The module proved itself quickly in production: in the first 90 days, the platform sent 215,100 emails with 99.2% delivery, peaking at 1,833 emails a minute.

Our team developed a public API that opens the platform to third-party integrations for the first time. Clients generate API credentials through self-service, while CORS controls and rate limiting keep access secure and predictable under load. The API handled 318,000 calls in its first 90 days.

Leobit implemented AI activity summaries and sentiment tagging for stakeholder activities on Azure OpenAI, so engagement teams see the tone and substance of stakeholder interactions without reading every record. Teams can switch the features on or off per project, and every AI-generated output is backed by a full audit trail.

We integrated the platform with Microsoft Teams and embedded Power BI dashboards directly into the product, bringing stakeholder data and reporting into the tools the customer’s clients already use daily instead of asking them to switch between systems.

Our team rebuilt bulk stakeholder import and export to run as background orchestrations with validation, replacing the legacy approach of processing large files inside a web page under a 90-minute timeout. In the first 90 days, all 1,378 bulk imports completed successfully.

Leobit implemented an enterprise security layer: single sign-on over SAML 2.0 and OpenID Connect via Microsoft Entra ID, multi-factor authentication, a web application firewall on Azure Front Door, and malware scanning of uploaded files. This brought the platform’s security in line with what the customer’s public sector clients require.

Working with the SaaS platform
Early migration phase

Early migration phase

The first step in the modernization was introducing a Strangler Facade. This software pattern sat between the legacy Web Forms application and the new front end, intercepting requests and routing them either to the old system or to newly developed modules. This approach enabled a phased, low-risk migration, thereby avoiding the risks associated with a full “big bang” rewrite.

To guide the process, we created a module dependency graph to determine the optimal migration order and prioritized critical or less dependent modules first. In parallel, we began developing a new ASP.NET Web API back end with a vertical slice architecture and a Blazor front-end application.

Data migration was a critical consideration. Continuing with the existing database risked inheriting outdated schema and performance issues, while introducing a new database added complexity with synchronization between old and new modules. Following thorough analysis, we decided to refactor the current schema, add new tables where needed, and migrate all databases to Azure SQL with Elastic Pool. This approach ensured client data remained securely isolated while improving scalability and performance.

Later migration phase

Later migration phase

In the later migration phase, we continued the iterative modernization and gradually moved more Web Forms modules to the ASP.NET Web API back end and Blazor front end. With each module transition, the Strangler Facade was updated to route more requests to the new components and fewer to the legacy system. In other words, it was progressively “strangling” the old application and reducing its active responsibilities.

A key lesson from this phase was the importance of simplicity and incremental delivery. Rather than overcomplicating the architecture or adopting every new technology at once, we focused on building clean, maintainable modules that delivered tangible value quickly.

The migration process also presented an opportunity to enhance functionality, compliance, and accessibility. We didn’t merely lift and shift existing features; wherever possible, we improved workflows, optimized performance, and updated interfaces to meet modern standards. By combining careful planning with iterative development, this phase laid the foundation for a fully modern, scalable, and user-friendly platform.

Migration strategies used: replatforming, and rebuilding

Migration strategies used: replatforming, and rebuilding

We began modernizing the customer’s platform by moving from Azure-hosted virtual machines to cloud-native services, replatforming workloads to Azure App Service and Azure SQL. This approach reduced administrative effort, enhanced reliability, and optimized costs. It was particularly suitable for smaller, isolated services that needed updates to support modern libraries.

Rebuilding was the primary strategy we employed, with a focus on the core monolithic Web Forms application. We migrated it to a modular monolith back end with a vertical slices architecture while maintaining existing functionality and developing new features. Our experts replaced modules incrementally, which allowed users to continue operating within a single interface, with old and new components running side by side. Over time, the legacy system was fully decommissioned and substituted by a modern, scalable, and maintainable platform with a multi-tenant architecture and enhanced authentication.

Leobit experts designed and implemented a cloud-native architecture on Microsoft Azure. We configured Azure Front Door to route and balance user requests to either the Static Web App or the App Service. The Static Web App delivers front-end content, while the App Service handles APIs and business logic. To ensure the application remains operational even in the event of a zone failure, we deployed critical services across Azure Availability Zones. This multi-zone, managed setup achieves up to 99.99% SLA for core services. We implemented centralized authentication and securely stored secrets and certificates in Azure Key Vault to ensure access is granted only to authorized services. Leobit also configured Azure Monitor to capture logs and performance metrics for observability and troubleshooting. The App Service interacts with Azure SQL and Blob Storage for structured and unstructured data, and we integrated Azure AI Foundry with a separately deployed OpenAI model to enable advanced AI-driven functionality.

Azure-based cloud-native architecture development

Leobit experts designed and implemented a cloud-native architecture on Microsoft Azure. We configured Azure Front Door to route and balance user requests to either the Static Web App or the App Service. The Static Web App delivers front-end content, while the App Service handles APIs and business logic. To ensure the application remains operational even in the event of a zone failure, we deployed critical services across Azure Availability Zones. This multi-zone, managed setup achieves up to 99.99% SLA for core services.

We implemented centralized authentication and securely stored secrets and certificates in Azure Key Vault to ensure access is granted only to authorized services. Leobit also configured Azure Monitor to capture logs and performance metrics for observability and troubleshooting. The App Service interacts with Azure SQL and Blob Storage for structured and unstructured data, and we integrated Azure AI Foundry with a separately deployed OpenAI model to enable advanced AI-driven functionality.

Mock up

Measured results in production

Ninety days of production telemetry (July–September 2026) show what the modernization delivers at full scale. The new platform served around 5 million user API requests with 99.98% completing without a server error, and recorded zero failed health-check minutes out of 128,160. Moving from a single VM to Azure App Service raised the application-tier SLA from 99.5% to 99.99%, cutting allowed downtime from roughly 44 hours a year to about one.

Speed improved across the board: median API response is 18 ms against 664 ms on the legacy API, and login token issuance is 3.1x faster at the 95th percentile. In the same window, a single deployment served 130 million database queries across 108 client databases, and completed all 1,378 bulk stakeholder imports as background orchestrations.

Releases changed the most: updates that previously reached clients one site at a time, in 22–42 minutes per site, now reach every client at once in 6–17 minutes.

mock up

AI-native engineering

Leobit runs the project with an AI-native delivery approach. Since September 2026, every pull request is reviewed by AI in CI against rules written specifically for this codebase, before a human reviewer sees it. The automated test suite grew from 113 to 3,221 tests, all run on every pull request.

The effect shows in delivery speed: the median pull request is merged in 1.6 hours, against 20.3 hours on the legacy codebase, with 81% merged the same day. Over 19 months of the engagement, the team has delivered 1,556 pull requests and more than 1,100 backlog items.

The Journey
Behind Our Success

Team:
1 Solution Architect
1 PM
6 Developers
3 QA Engineers
Phase 1
Phase 2
Phase 3
Phase 4
Phase 5
Phase 6
Phase 7

Discovery phase with a comprehensive technical audit

Project migration with Strangler Facade

Iterative modernization (replatforming and rebuilding)

Azure based cloud native architecture development

Accessibility improvements

Product expansion and AI-native delivery on the new platform

AI-native engineering at scale

Technology Solutions

  • Using the Strangler Facade pattern to enable gradual, low-risk migration from legacy Web Forms modules to a new system.
  • Migration from ASP.NET Web Forms to ASP.NET Web API (.NET 9) with a modular monolith using vertical-slice architecture.
  • Implementing a centralized identity provider with token-based authentication for secure, seamless login across old and new modules.
  • Performing integration with Azure AI Foundry, using a separately deployed OpenAI model to introduce intelligent, AI-powered features and enable future innovation.
  • Using Microsoft Azure native services to ensure optimized, secure, multi-tenant data management.

Value Delivered

  • Consolidated 270 separately deployed IIS sites into one deployment per environment and eliminated all 51 client-specific database forks: one codebase, one schema, per-client configuration.
  • Raised the application-tier SLA from 99.5% to 99.99% through Azure App Service and multi-zone redundancy, a 40x reduction in allowed downtime.
  • Quadrupled the platform in twelve months, from 123 to 490 APIs, with releases reaching every client at once in 6–17 minutes.
  • Improved accessibility to the maximum Lighthouse score of 100 on modernized pages, compared to 68–93 on legacy pages.
  • Moving from a single-tenant to a multi-tenant architecture is projected to lower monthly infrastructure costs by up to 80%.
  • 6x faster response times thanks to the Blazor-based front end and modular back end.