Manufacturing
Application Modernization
VB/IE to Blazor
Modern browser support
Manufacturing Web Application Modernization
Legacy applications don’t survive for decades by accident. They survive because they work—because someone spent years embedding business logic into stored procedures, refining edge cases, and encoding operational knowledge that exists nowhere else. The danger in modernization isn’t the new technology. It’s losing what the old system actually does.
We modernized a manufacturing operations platform from legacy VB scripting to modern C# Blazor, preserving every piece of business logic while eliminating the technical constraints that were holding the organization back.
The Challenge
A custom mixing manufacturer was running their entire operation on a legacy VB scripting application with inline HTML. The technology dated from a different era—it only worked in Internet Explorer, couldn’t run in Chrome or any modern browser, and was becoming increasingly difficult to maintain as the pool of developers familiar with VB scripting shrinks every year.
But here’s what made this project complex: the application wasn’t just old code. It was years of refined business logic embedded in SQL Server stored procedures. Production scheduling rules, equipment constraints, customer-specific requirements, pricing calculations—all encoded in database logic that the business depended on daily. A naive rewrite would risk breaking processes the organization didn’t even realize were automated.
The client needed modern browser support and a maintainable codebase. They couldn’t afford to lose the operational intelligence baked into their existing system.
Our Approach
We designed an incremental migration strategy specifically to mitigate the risks that sink legacy modernization projects. Rather than a “big bang” rewrite—where you rebuild everything and flip a switch—we migrated one module at a time.
Each module followed the same pattern: resurface the functionality in modern technology, deploy to staging with a fresh production data refresh, run comparative testing against the legacy system using staging accounts, and only release to production after verification. Both systems ran in parallel until each module was proven.
This approach provided several critical advantages. Users could continue working in the legacy system while new modules rolled out. Issues surfaced in isolated, manageable chunks rather than system-wide failures. And most importantly, we could validate that business logic parity was maintained at every step—not just hope we got it right at the end.
The Solution
The migration moved the platform from VB scripting with inline HTML to C# with Blazor, enabling full modern browser support while preserving the SQL Server stored procedures that contained the core business logic.
Document Upload System replaced scattered file handling throughout the legacy application with a reusable module. The system dynamically appends to the appropriate database columns based on context—orders, products, accounts—with standardized file storage and proper path management. One component now handles what previously required duplicate code across multiple screens.
Pinnable Products and Favorites added workflow improvements that didn’t exist in the legacy system. Users can maintain shortlists of frequently accessed accounts and products, with automatic tracking of most-visited items. For staff who work with the same customers and products daily, this eliminates repetitive navigation through the full catalog.
Note Management consolidated previously scattered note functionality into a contextual system attached to accounts, parts, and products. Like the document system, we built this as a reusable component pattern—write once, deploy everywhere the functionality is needed.
Work Center Scheduler represented the most complex module in the migration. This is production scheduling for industrial mixing equipment—not simple calendar blocking, but constraint-based scheduling that accounts for equipment-specific limitations.
The scheduler displays dynamic time blocking showing availability windows throughout each day. Each product has configurable time requirements including both active mixing time and cool-down periods before the equipment is available again. Some products are locked to specific mixers due to equipment capabilities or contamination concerns. The interface allows toggling between multiple mixers to visualize and manage the production schedule across the facility.
We added an email notification system for schedule changes—something the legacy system lacked—and implemented permission controls so only authorized staff can modify the production schedule. The core scheduling logic pulled from existing stored procedures, but we consolidated redundant data calls that were degrading performance in the legacy implementation.
Results
The platform now runs in Chrome and modern browsers, eliminating the Internet Explorer dependency that was becoming an operational risk as Microsoft phases out IE support entirely. Staff access the same functionality through current technology that will remain supported and maintainable.
Every piece of existing business logic survived the migration. The stored procedures that encode years of operational refinement continue to drive the application—we resurfaced them through modern interfaces rather than attempting to rewrite logic we didn’t fully understand. This preserved institutional knowledge that would have been expensive or impossible to recreate.
The incremental deployment strategy delivered zero-downtime migration. Users experienced new modules appearing over time rather than a disruptive system cutover. Issues that surfaced during staging validation were addressed before reaching production, and the parallel operation period provided confidence that nothing was lost in translation.
Beyond preservation, the migration enabled improvements. The email notification system for schedule changes adds communication capability the legacy system never had. Permission controls provide audit trails and prevent unauthorized schedule modifications. Consolidated data operations eliminated redundant backend calls, improving performance throughout the application. And the modern visual design improves usability for staff who work in the system daily.
Technology Stack
- C# - Backend application logic and API layer
- Blazor - Modern web UI framework replacing legacy VB/HTML
- SQL Server - Database with preserved stored procedure logic
- REST APIs - Service layer connecting UI to business logic
- Modern browser support - Chrome, Edge, Firefox compatibility
This project reflects our track record delivering legacy application modernization for manufacturing environments. The combination of careful migration methodology—incremental deployment, staging validation, parallel operation—with deep respect for existing business logic demonstrates what twenty-plus years of enterprise development experience enables. Legacy modernization isn’t about rewriting code. It’s about preserving what works while eliminating what doesn’t.
Ready to Solve a Similar Challenge?
Legacy applications contain years of refined business logic—a complete rewrite risks losing all of it. Our Application Modernization approach migrates incrementally, preserving what works while upgrading the technology.
Stuck on legacy technology? Let’s talk.
Related Case Studies:
Let's Solve Your Software Problem
We show up. On-site for discovery, kickoffs, training, and milestones—wherever the work takes us. No layers, no handoffs—just direct access to the engineers building your solution.
Proven Track Record
Organizations served across Texas and beyond
Integration Experience
APIs delivered across payment, inventory, and government systems
Years Experience
Enterprise software expertise our team brings to every project


