Legacy System Modernization for a GreenTech Stormwater Platform

.NET and AngularJS migration without downtime for a live stormwater monitoring platform

Duration: Ongoing since May 2023

Customer location: USA

Industry: Renewable Energy Sources

Services: Legacy System Migration ● Backend Development ● Frontend Development ● CI/CD Migration ● QA & Test Automation ● Project Management

Tech stack: .NET 10 ● Blazor WASM ● GitHub Actions

Dedicated team behind the project

In Brief

Ralabs migrated a live stormwater monitoring platform from .NET Framework 4.7 and AngularJS to .NET 10 and Blazor WASM. The migration ran without disrupting active operations, simplified the microservices architecture, and moved CI/CD to GitHub Actions. The engagement has been ongoing since May 2023.

The Client

The client is a leading provider of digital adaptive stormwater control solutions, helping communities and partners secure the sustainability of their natural resources. Their core product turns passive stormwater infrastructure into an active, optimized system through Continuous Monitoring and Adaptive Control (CMAC).

CMAC is a cloud-based stormwater management technology that combines weather forecasts with real-time sensor data to predictively automate storage and flow control across an entire watershed.

Due to an active NDA, the client’s name and public identity are not disclosed in this case study.

Client Achievements:

15+ years

Building smart stormwater technology

50,000+ storm events

Managed through the client’s cloud platform

Global backing

Part of an international infrastructure group

The Challenge

Our client needed application modernization for a legacy solution, without disrupting a system that municipalities and partners rely on for active environmental monitoring. The backend was still running on legacy .NET Framework 4.7, and the frontend was built on legacy AngularJS: both increasingly difficult to maintain, extend, and secure.

Beyond the technical migration itself, the team faced two early hurdles:

Safe access to a business-critical platformGaining the client’s trust and getting the access needed to work safely inside a live, business-critical system

Mapping undocumented legacy logicUnderstanding the existing core functionality and data sources well enough to migrate without breaking real-world monitoring and control logic already in use

Mapping a legacy system before changing it is the first step of any modernization, and the focus of our legacy system audit.

What Was Done

01

Migrating a Live, Business-Critical System

Ralabs’ team carried out a full-stack legacy migration while the system remained in active use

02

Backend Modernization

The backend was migrated from .NET Framework 4.7 to .NET 10

03

Frontend Rebuild

The frontend was migrated from legacy AngularJS to Blazor WASM

04

Simplifying the Architecture

The overall solution was refactored and simplified, removing unnecessary microservices separation that had accumulated over time

Delivery Improvements

CI/CD migration to GitHub Actions, modernizing the deployment pipeline alongside the application stack

QA regression testing and automation were introduced to protect system stability throughout the ongoing migration

Project Management

Kanban-based workflow, suited to a long-running, continuously evolving engagement rather than fixed-scope sprints. Close, ongoing collaboration with the client’s leadership, including direct involvement from the Chief Innovation Officer and CEO.

Results

01

Zero-downtime modernization

Software modernization of a live product: backend and frontend migrated to current technology (.NET 10, Blazor WASM) without interrupting a live environmental monitoring product

02

Simplified architecture for easier scaling

Unnecessary microservices complexity removed, making the system easier to maintain and extend going forward

03

Faster, safer releases

Modernized delivery pipeline: CI/CD moved to GitHub Actions, supported by regression testing and QA automation

04

Three years of continuous partnership

Continuous trust: the engagement has run since May 2023 and remains in active development today

The engineers that I’m working with are some of the best engineers I’ve worked with in my career

Principal Engineer
Stormwater control solutions provider

What the team has to say

Modernize without disrupting what already works

Before we change a line of code, we map how your system works, where the risks are, and what to fix first. Full audit and roadmap within one week.

Yevhen Kulinichenko

Head of technology at Ralabs

FAQ

Ralabs modernized the client’s live stormwater monitoring platform, migrating the backend from .NET Framework 4.7 to .NET 10 and the frontend from AngularJS to Blazor WebAssembly. The team also simplified the architecture, moved CI/CD to GitHub Actions, and introduced QA regression testing and automation, all while the platform stayed in active use.

Yes. In this project, Ralabs migrated both the backend and frontend of a business-critical environmental monitoring platform while municipalities and partners continued to rely on it. The key was mapping the existing logic and data sources before changing anything, then protecting stability with regression testing and QA automation throughout the migration.

Legacy .NET Framework applications become increasingly difficult to maintain, extend, and secure over time. .NET 10 is a long-term support release that gives the platform a modern, actively developed foundation, so the client can keep building new functionality without fighting an aging runtime.

AngularJS reached end of support in 2021, which makes it harder to secure and maintain. Blazor WebAssembly lets a team build the frontend in C# on the same .NET platform as the backend, so one engineering team can work across the full stack with a single language and toolset.

CMAC (Continuous Monitoring and Adaptive Control) is a cloud-based stormwater technology that combines weather forecasts with real-time sensor data to automate storage and flow control across a watershed. It turns passive stormwater infrastructure into an active, optimized system. The client has managed 50,000+ storm events through its platform.

Sometimes. In this case, the solution had accumulated microservices separation that added complexity without adding value. Ralabs refactored and consolidated those parts during the migration, leaving a simpler architecture that is easier to maintain and extend.

It depends on system size and how much undocumented logic needs to be mapped. This engagement started in May 2023 and remains in active development, run on a Kanban workflow suited to continuous, evolving work rather than fixed-scope sprints. A Ralabs legacy audit delivers a system map and modernization roadmap within one week.

A dedicated Ralabs team of two Senior Full Stack Engineers, a Middle Software Engineer, and a Project Manager, working closely with the client’s Principal Engineer.

Let’s talk solutions

    By submitting this form, you agree to our Privacy Policy.



    Roman Rodomansky

    COO & Co-Founder at Ralabs

    Andrii Yasynyshyn

    CEO & Co-Founder at Ralabs

    Other cases

    You got it right!

    Only 21% of people can identify an accessible visual.

    Your question