Posts

Using AI to Modernize Our .NET Legacy Codebase

Using AI to Modernize Our .NET Legacy Codebase

Introduction

We’re facing a common problem seen by many companies that have been around as long as us: an aging codebase deeply rooted in legacy technologies that is difficult to port to more modern technologies. In our case, it’s a large monolith solution with projects primarily targeting .NET Framework 4.8. It’s been working well for us, but poses numerous difficulties. First, it requires Windows to develop and run and while there are workarounds for developing on Mac and potentially deploying on Windows containers, this adds friction and is more difficult to maintain. Second, while .NET Framework 4.8 will be officially supported for the foreseeable future, it’s obviously a dead-end technology. There have been numerous advances made in .NET that we are simply not able to take advantage of. Finally, we’re living in an AI world now and while we’ve been able to use AI successfully with .NET 4.8, as you’ll soon see, it’s not as good of an experience as it could be with modern .NET. This blog post will focus on my efforts using AI to aid in this modernization project.

Welcome to the ShipStation Tech Blog

We’re excited to launch the ShipStation tech blog. This is a space where our tech team will share the technical work behind ShipStation — the challenges we face, the decisions we make, and the lessons we learn along the way.

What to expect

We’ll be writing about:

  • Architecture and infrastructure — how we design and operate the systems that power ShipStation
  • Development practices — the tools, processes, and patterns our teams use day-to-day
  • Lessons learned — what worked, what didn’t, and what we’d do differently

Stay tuned

We have posts in the pipeline covering topics across the stack. Subscribe via RSS to follow along.