- Problem
- A daily Windows service imported an Oracle database extract for other departments. The import, about 100,000 lines of code, parsed the extract with regular expressions and took about 3 hours per run.
- Solution
- Upgraded the service to .NET Framework 4.8 and replaced the regular-expression parsing with a purpose-built recursive descent parser for speed and memory efficiency.
- Outcome
- A run went from about 3 hours to about 10 minutes, roughly 18 times faster.
Insurance compliance · .NET 10 · Docker · Azure DevOps · GitHub Copilot
Legacy compliance platform modernization
10–15 → 3–5 minper licence verification
- Problem
- Staff verified insurance broker licence contracts by hand, at 10 to 15 minutes each. The client-facing tools ran on .NET Framework 4 with old dependencies and manual deployment scripts.
- Solution
- Added an AI-assisted step with GitHub Copilot that validates and summarizes most licence contracts. Began splitting the .NET 4 systems into modular .NET 10 services that run in Docker, and replaced the deployment scripts with Azure DevOps pipelines. Built React prototypes to show the business what an upgraded front end would look like.
- Outcome
- Verification dropped to 3 to 5 minutes per contract. Upgraded services can now run in containers and scale in the cloud.
Telecommunications · WPF · .NET
Call-centre desktop app memory fix
−50%memory use, one pull request
- Problem
- The WPF desktop application used by customer service agents used far more memory than it needed.
- Solution
- Found during testing that a small loading animation, used on nearly every screen, was never unloaded. Made sure it was disposed after every load.
- Outcome
- Memory use dropped by 50% with a single pull request.
- Problem
- After an acquisition, 20 years of land development data sat on an old AS/400 mainframe.
- Solution
- Designed and built an ETL package, customized an ODBC driver to read fixed-length columns, and cleaned the data for import into Microsoft SQL Server.
- Outcome
- The data moved off the mainframe and into SQL Server.
Residential real estate · C# · Delphi · Dynamics SL · Dynamics CRM
Undocumented software integration
3 systemsconnected without vendor documentation
- Problem
- A construction management system had no documentation, and the vendor could not explain its database. It needed to exchange data with Microsoft Dynamics SL and Dynamics CRM.
- Solution
- Reverse-engineered the application, written in Delphi, and wrote a custom C# provider for its proprietary database engine. Then built an integration application between it and the Microsoft accounting stack.
- Outcome
- Construction, accounting, and CRM data connect through one integration.