Contact us

Legal Case Management Platform

Legacy system reengineering and modernization that helped a U.S. leading criminal case management provider achieve 54% user growth and expand its service to 600+ organizations

ABOUT the project

Client:
LegalTech company
Location:
Country flag

USA

|

MO

Company Size:
150+ Employees
Industry:
Legal

Technologies:

.NET

Angular

C#

ASP.NET

The platform is a leading civil and criminal case management software tailored for defenders and prosecutors within the US judicial system. Its primary goal is to streamline workflows, drive cost efficiencies, and enhance the effectiveness and agility of legal teams. With its cloud-based storage and robust search functionality, legal professionals can efficiently enter, archive, search, retrieve, and generate reports on case information.

Moreover, the software offers time-tracking capabilities and generates statistical reports for analyzing work distribution across case types, tasks, and team members. Additionally, its seamless integration with various software applications, including law enforcement and court RMS, calendar, and email tools, further accelerates operations and minimizes the risk of errors.

We’re delighted to have assisted our client in modernizing their legacy system while ensuring uninterrupted service for their users. The client heeded our advice, resulting in the development of new features as cloud-native modules, which harness the capabilities of containerization and emerging technologies.

Andriana Shehlovych

Project Manager at Leobit

legaltech industry

CUSTOMER

The customer is an eminent US-based business and government solutions provider, offering defenders and prosecutors an advanced tool for streamlined court case management. Boasting a substantial client base of over 600+ organizations within the legal sector and a remarkable user count exceeding 20,000, they have solidified their position as a leader in the industry. With over three decades of experience, they have optimized the operations of numerous prosecutor and defender offices within the US judicial system.

BUSINESS
CHALLENGE

Initially developed in the 1990s, our client’s software solution was due for an upgrade to enhance speed and user experience by migrating legacy code to modern technologies and incorporating new features. The client also wanted to optimize the system interface for easier navigation and to lighten the administrative workload associated with user onboarding.

However, executing a seamless migration presented a significant challenge. As the client’s web application supported critical operations in government and legal sectors, any disruption during the migration could have led to significant consequences, including delays in legal processes. Maintaining uninterrupted functionality throughout the migration process was paramount to ensure continuity of operations.

Why
Leobit

The company found Leobit through Clutch and was impressed by our expertise in Angular and Azure cloud development, which aligned perfectly with their needs. Our collaboration began with a small project focused on process automation, where we demonstrated our reliability as a vendor. Satisfied with the results, the client engaged Leobit for a larger project involving reengineering a legal case management system and developing new modules. This marked the start of a long-term partnership that proved mutually beneficial for both parties.

Project
in detail

Our collaboration started with a team of 5 experts, and as the client was satisfied with our work, we expanded to 4 teams comprising 19 experts. Two back-end development teams focused on migrating code and components while our UX designers revamped the system interface and created new features. Working closely with designers, our front-end developers skillfully implemented the redesigned features.

architecture scheme

The customer lacked CI/CD processes, leading to manual deployments consuming about 50% of developer time. To streamline development, cut manual efforts, and reduce costs, we recommended implementing CI/CD for staging and production environments. This allowed our client to save time, ensure consistency and reliability across deployments, and allow for automated testing and monitoring of code changes. This resulted in increased productivity and faster time to market for new features and updates.

We’ve implemented a session management system using access/refresh tokens, enabling prosecutors and defenders to regulate victims’ access time within the system. This system enhances security by enforcing reauthentication once tokens expire, protecting sensitive user data, and preserving the application’s integrity.

We developed new modules using Azure-native services such as App Services, Service Bus, and Azure AI Indexes. We utilized Docker Azure Container Instances with a custom load balancer, which can scale the number of Docker instances up or down depending on the system load to ensure optimal performance.

Due to the court summary page’s complexity, standard responsive techniques were not enough. So, Leobit’s team designed four separate layouts to support mobile, small tablet, large tablet, and desktop. To handle this, the team developed a custom layout algorithm that determines how modules are distributed across rows and screens. Thanks to it, each layout presents modules differently depending on screen size and context. The number and arrangement of components also change dynamically.

Leobit developers implemented a front-end component library, which played a key role in speeding up development. By standardizing UI elements and interactions, new pages could be built faster and more consistently, reducing development time by around 30%.

According to the latest legislation requirements, all customer product pages had to meet WCAG 2.2 Level A and AA accessibility standards, including color contrast and layout. The legacy system did not meet accessibility standards, with Lighthouse scores ranging from 64 to 82. As part of the redesign and redevelopment, we adjusted colors and contrast, improved layout and navigation, and rebuilt certain components with accessibility in mind. As a result, the accessibility score increased to 100 in the new pages according to the Lighthouse accessibility checker.

The Leobit team identified a performance bottleneck in the document generation flow, where compiling multiple Word files into a single PDF took up to 20 minutes. This delay affected overall system efficiency and user experience, especially in time-sensitive scenarios. To address this, the team reworked the back-end logic, optimizing how documents were processed and combined. As a result, the processing time was reduced from 20 minutes to approximately 1 minute, significantly improving performance and enabling faster access to finalized documents.

legal case management
MHD-138_2

Code Migration

Our primary goal was to transition the codebase from ASP.NET Forms to Angular 11 without causing any disruption to the client’s critical system, which serves the government and legal sectors. To achieve this, our experts rewrote the legacy codebase, module by module, ensuring seamless integration with Angular while enhancing performance using TypeScript.

A crucial aspect of the migration involved integrating a wide range of UI components from the legacy system into the new framework, such as forms, buttons, modals, settings pages, maintenance pages, search functionality, user profile pages, services pages, menus, and navigation. By carefully incorporating these UI elements, our development team ensured that the system retained its core features while leveraging the capabilities of the new framework.

MHD-138

API Endpoints Modifications

While migrating the legacy code to the new framework, our team encountered legacy API endpoints on the backend that required careful handling. API endpoints serve as the entry points for communication between the frontend and backend, enabling data retrieval through requests.

We meticulously evaluated each endpoint to determine the most appropriate approach for handling it within the new Angular framework. For some endpoints, we replaced outdated implementations with new ones, while for others, we replicated them and made necessary adjustments to align with Angular’s framework. This approach enabled us to use the existing backend infrastructure while ensuring compatibility with the new front-end framework.

Constructing an Advanced Search Engine for the System

Constructing an Advanced Search Engine for the System

The existing search feature, built with ASP.NET Web Forms, proved slow and inefficient, hindering effective data retrieval for prosecutors and defenders. To tackle this challenge, our team developed a new search engine from scratch, using modern technologies and a new design. We focused on simplifying the search process for users, allowing them to input queries, apply filters, and easily navigate results.

We integrated the Azure Cognitive Search service into the system, establishing a dedicated database known as the Index within the Azure environment. Unlike before, where the entire database was queried, the new search system relies on this Azure Index database. It contains a carefully filtered subset of records tailored to match user preferences and search patterns. This ensures that only relevant records are retrieved, optimizing search efficiency.

The revamped search functionality has delivered remarkable improvements in system performance. Previously lengthy search times have been reduced to an impressive 1–2 seconds, giving users swift access to the information they need.

MHD-621_1

Media Editor Development

Our customer faced a challenge handling lengthy video recordings, such as those from police body cameras, which needed modifications like trimming, highlighting specific elements, and blurring faces or objects. Previously, such modifications were made using separate third-party applications, potentially violating legislation in case of data leakages. To address this challenge, Leobit experts suggested consolidating audio/video editing tasks within the client’s ecosystem to ensure compliance with legislation on sensitive information.

Our solution was to develop a comprehensive online video editor. We used modern technologies like .NET 8, Docker & Docker compose, React, and Azure Blob Storage. By integrating with Azure AI Video Indexer, we enabled users to extract valuable insights from videos, including automatic translation and multi-language support.

The media editor’s key features include face and object blurring, annotation drawing tools, and AI-powered caption extraction and editing, allowing users to perform all necessary actions seamlessly within the platform.

Following the latest application upgrade, our team introduced a fully automated flow. Now, once a video is uploaded, it is automatically processed by Azure AI Video Indexer, which generates a transcript without user involvement. The system then applies additional formatting and security rules, including masking sensitive data using regex, converts the output into a structured document, and stores it in the main application. At the same time, all transcripts are indexed using AI-powered search, allowing users to quickly find relevant content across videos.

The impact of this upgrade became clear immediately after release. Just after the feature launch in April 2025, the media editor handled around 200–300 videos. After the upgrade, usage rapidly scaled to 10,000–15,000 video uploads per day, with each video averaging about one hour in length. To support this growth, the system relies on Azure auto-scaling, handling approximately 15 terabytes of data daily and reaching around 5.5 petabytes annually. This shift turned the media editor into a high-load, production-critical system capable of processing massive volumes of video efficiently and securely.

Victim Portal

Victim Portal

We developed a cross-platform mobile and desktop application specifically designed to provide victims with access to case information and facilitate communication with their legal counsel. This application functions as a separate microservice, communicating with the main application through an API. Our main challenge lay in seamlessly integrating this microservice with the core application while ensuring the secure storage of data in the primary database.

To address this challenge, we employed a multitenancy approach, enabling the application to connect to various client environments in production. This architecture ensures flexibility and scalability, accommodating different client needs effectively.

The app gives victims access to the essential case details, including evidence, and facilitates seamless communication through feedback mechanisms. Previously, feedback collection relied on disparate methods like Google Forms, emails, or letters. Now, victims receive timely notifications prompting them to provide feedback directly within the app.

Additionally, the app features an embedded calendar displaying court dates, locations, and attendance requirements, offering victims clear visibility into their legal proceedings. Furthermore, users can access documentation FAQs and even send subpoenas to court, all within the app interface.

On the administrative side of the main app, we implemented functionalities allowing administrators to manage user texts, FAQs, victim profiles, document generation, and access permissions. Moreover, administrators can configure session durations, ensuring security by setting expiration limits for access.

Since its release in April 2024, the portal has seen steady adoption, reaching approximately 9,500 users by April 2026. Such growth confirms its value as a reliable communication channel between victims and legal teams.

Court summary page

Court summary page

The Court Face Sheet is the main working page for prosecutors during court hearings. It includes over 30 modules and aggregates information from multiple parts of the system.

Previously, this information was scattered across different pages and tabs, requiring users to search and navigate under time pressure. The client had an outdated version of the Court Face Sheet built with Windows Web Forms. We developed a new page that brings everything together into a single interface using modular blocks.

Because of its critical role, the feature could not be released incrementally. It had to be delivered as a complete solution from day one, while fully meeting accessibility requirements. From a technical perspective, the court summary page was implemented as a standalone Angular module with a dedicated back-end module.

One of the main challenges was integrating data from legacy pages. The team used a hybrid approach:

  • Some logic was rewritten from scratch
  • Some parts were encapsulated from existing functionality
  • Additional features were extended or newly developed

To support gradual adoption, the team implemented feature toggles. This allowed users to switch between the old and new versions while both existed independently. Over time, the legacy version is being phased out.

Electronic Subpoenas Module

Electronic Subpoenas Module

Police officers needed a reliable way to track court appearances, confirm attendance, and manage scheduling conflicts, but the existing system didn’t support how they actually worked. It was designed for desktop use only, not responsive, and difficult to use on mobile devices. For officers who spend much of their time in the field, this made the tool inefficient and, at times, unusable.

Instead of trying to patch the old system, the Leobit team chose to rebuild it with mobility and simplicity as core principles. On the front end, the team reused a custom component library that we built for the court summary page to ensure consistency and speed up development. On the back end, we adapted an existing .NET system to accommodate new data structures, while features such as search and filtering were developed from scratch. As a result, the module fits naturally into daily workflows and works seamlessly across devices.

​​Case summarization AI agent

​​Case summarization AI agent

The Leobit team developed and implemented a custom AI agent to help users quickly navigate large volumes of legal data and extract key insights without manual effort. Instead of reviewing multiple documents and screens, users can generate concise summaries of cases on demand. To make this possible, the team built a custom AI-driven solution powered by Azure OpenAI, integrated into the existing system through a .NET and ASP.NET Core Web API back end. To ensure accurate and relevant summaries, case data stored in Azure Cosmos DB is processed and structured before being sent to the AI model.

On the front end, the team designed and built a dedicated Angular interface that allows users to easily request and view summaries within their workflow. The solution was integrated with existing media and document handling pipelines, including Azure Blob Storage, so both textual and transcribed content could be used as input. By combining modern cloud services with a clean architectural approach based on Onion architecture, the team delivered a feature that significantly improved efficiency. Tasks that previously required several hours of searching through case materials can now be completed in less than one minute, allowing users to focus on decision-making rather than data gathering.

Testing automation

Testing automation

As the platform evolved to include multiple modules covering various aspects of case handling, regression testing became a significant operational bottleneck. The process became increasingly complex and time-consuming, requiring over 40 hours per testing cycle when performed manually.

To address this challenge, Leobit’s QA team proposed implementing automated testing for the application’s core functionality and critical end-to-end user flows. Using Mabl, a cloud-based intelligent test automation platform, the team automated key scenarios across high-impact modules to ensure consistent quality and faster release cycles.

The QA team worked closely with the development team to ensure that all test cases were aligned with the functional requirements. They prepared and optimized 281 automated test scripts, each taking an average of 8 hours to set up and fine-tune.

The automated tests were deployed on a dedicated remote server and integrated into a nightly run schedule, which allowed us to provide continuous feedback and early detection of issues. This approach helped us significantly reduce testing time and improve reliability and coverage with every release. This scalable testing framework can grow alongside product expansion.

Technology Solutions

  • Migrating front-end from ASP.NET Forms to Angular 11 by rewriting the application module by module, adhering to Angular’s specific syntax, and leveraging TypeScript to optimize the code
  • Using Azure Cognitive Search to simplify the search process for users, allowing them to input queries, apply filters, and easily navigate results
  • Integrating with Azure AI Video Indexer to highlight specific elements, blur faces or objects, and easily add closed captioning in multiple languages
  • Employing a cloud-native approach for developing new modules allowed us to use modern technologies and enhance the system performance
  • Adopting a multitenancy approach to enable new cloud-native modules to connect to various client environments in production
  • Using Mabl to prepare and optimize 281 automated test scripts deployed on a dedicated remote server and integrated into a nightly run schedule to provide continuous feedback and early detection of issues

Value
delivered

  • By implementing Azure Cognitive Search, we successfully reduced the loading speed from an average of 1 minute to 1–2 seconds.
  • The customer’s software solution achieved 54% user growth, scaling from 13,000 to 20,000 users and expanding to 600+ organizations, strengthening market presence.
  • The customer’s company was recognized as an 8-time Inc. 5000 Fastest-Growing Company, with 76% growth between 2021 and 2024 and continued double-digit growth projected through 2026–2027.
  • Scaled multimedia processing capabilities from 200–300 to 10,000–15,000 video uploads per day, reaching up to 15 TB of data processed daily (5.5 PB annually) through automated transcription and cloud scalability.
  • Drove rapid feature adoption, with the Victim Portal reaching 9,500 users within two years of release.
  • Reduced manual deployment effort by 50% and eliminated 40+ hours of testing per cycle, significantly accelerating delivery.
  • Improved platform accessibility, increasing scores from 64–82 to 95–100, ensuring a more inclusive and user-friendly experience.