The work below draws from three senior engagements across higher education, product development, and industrial automation. Each illustrates a different shape of modernization, but the underlying pattern is consistent: inheriting complex legacy systems, building the understanding to change them safely, and delivering modern, maintainable replacements without disrupting the business that depends on them.
Palmer's IT department maintained a portfolio of ASP.NET WebForms applications that had drifted multiple framework versions out of date. The codebase had become difficult to maintain and impossible to safely extend, but the institution depended on the apps for daily operations and couldn't afford to take them offline for a wholesale rewrite.
I led the modernization effort across the portfolio, making per-application decisions about migration strategy: in-place upgrades to current .NET where the existing codebase was salvageable, full rewrites where it wasn't. The harder constraint was a brittle legacy data layer the College wasn't ready to replace — every modernized application had to remain compatible with data structures and stored procedures that predated the original WebForms code by years. Migration choices weren't just technical; they involved working with stakeholders to understand which business logic was load-bearing and which had ossified into incidental complexity.
Alongside the application work, I migrated on-premises server infrastructure to Azure App Services and Azure SQL, designed and implemented Azure DevOps CI/CD pipelines, and built MuleSoft AnyPoint integrations between Salesforce CRM and NetSuite ERP.
ASP.NET WebForms .NET C# SQL Server Azure App Services Azure SQL Azure DevOps MuleSoft AnyPoint Salesforce NetSuite
4D Mobile had a working proof-of-concept for a machine vision application — Windows-based, built in WPF, demonstrating the core dimensional measurement capability but not ready for production deployment to customers. The product roadmap called for a hardened production version, a SaaS platform to support it, and eventual cross-platform deployment to mobile.
I refactored the proof-of-concept into customer-facing production code, then led the architectural work to extend the application across the broader platform. This included building a cloud-based ASP.NET Core SaaS portal with SQL Server backend and RESTful APIs to handle user data and device communication, designing Azure infrastructure for image processing and measurement data (Blob Storage, Azure SQL, Azure Functions), and implementing CI/CD pipelines and automated testing through Azure DevOps. Substantial backend refactoring along the way enabled code sharing across the various platform targets and improved the overall flexibility of the codebase.
The most complex piece was the cross-platform migration from WPF desktop to .NET MAUI for iOS and Android deployment. Maintaining consistent behavior and user experience across desktop and mobile required rethinking parts of the architecture that had been built on Windows-specific assumptions. I operated as informal tech lead through this work, providing direction and code review for a rotating group of 2-3 junior developers contributing to features and platform-specific implementations.
C# .NET WPF .NET MAUI ASP.NET Core SQL Server Azure App Services Azure SQL Blob Storage Azure Functions Azure DevOps RESTful APIs
Welty Automation builds and maintains control software for industrial production equipment, working primarily with a single major equipment manufacturer as its client. When I joined as the company's sole software developer, the codebase represented twenty years of organic growth: a massive monolith containing machine-specific code for every production system the manufacturer had ever shipped, built up over two decades by the owner-operator learning as he went. It wasn't under version control. It had no test coverage. It had no build pipeline. The institutional knowledge of how it worked existed primarily in one person's head.
My job was to bring that codebase into modern, professional shape — without disrupting the business of customizing and shipping control systems to the client.
I started by building internal tooling just to be able to navigate and understand what was there, then worked through a comprehensive modernization: re-architecting the structure into modern, tested, object-oriented code; introducing automated test coverage; bringing the entire codebase under GitHub-based version control; and automating the build pipeline using B&R Automation Studio tooling. The build automation alone cut the code-to-deployment-drive process from a multi-hour manual workflow to a few minutes, and eliminated the manual backup steps that had been a regular source of error. By the end, the codebase was unrecognizable from the spaghetti it had started as — clean architecture, professional engineering practices, sustainable for the next developer to inherit.
Alongside the modernization work, I handled the ongoing day-to-day technical work the role required: HMI applications in C# and WPF for operator interfaces, integration of PLCs with manufacturing execution systems via industrial communication protocols, and direct technical advisory work with the client's engineering and operations teams — training their staff on software interfaces and coaching them on diagnostic data collection for ongoing troubleshooting and maintenance.
C# .NET WPF B&R Automation Studio Industrial Communication Protocols PLC Programming HMI Development MES Integration GitHub Build Automation
The Great Catholic Book Club
A comprehensive platform for Catholic book discussions and community engagement, featuring interactive discussions, video content, and member resources.
React TypeScript Node.js
Development Portfolio
A collection of public projects showcasing modern web development techniques, from interactive applications to technical experiments and learning projects.
JavaScript TypeScript React Astro
54 Day Rosary Novena
A modern web application for tracking and guiding users through the 54-Day Rosary Novena, a traditional Catholic prayer practice. Features interactive prayer tracking, progress monitoring, and responsive design for mobile and desktop use.
JavaScript React PWA Mobile-First