Big Machine ·

Throwing Claude at a 22 year old project

One of the fun things about running an AI community is that I get to read the fun stories that members share with me. One story that stuck with me was when a member had to migrate a legacy .NET application to .NET 10 (the current version), and how they used Claude to do it.

How would you do such a thing? I remember upgrading Rails from 2.x to 3.x, and I swore I would never do such a thing again. So much work to replace underlying libraries, upgrade your components, and port entire chunks of functionality to "the new way of doing things".

That said, I didn't have Claude to do the heavy lifting for me... hmmm... I wonder...

That's all it takes for me to jump in, so I decided it would be fun to do what I do...

Let's Try It and See What Breaks

I've been building and shipping apps since 1997, starting with MS Access, and then classic ASP, and so on. In 2004 I created the Commerce Starter Kit for ASP.NET 2.0, and from that came my first open source project that people cared about: SubSonic.

Of all the things I've worked on over the years, SubSonic is clearly the choice for an upgrade. The last time I touched it (version 2, that is), it was using .NET 3.5 and a bunch of Web Forms, and required Windows to run.

Oddly, I didn't think of SubSonic when considering a project of mine to upgrade. It was Chris Pelatari (part of the AI Pro community) who suggested it to me through a DM (paraphrased):

It would be fun to see if you could upgrade SubSonic to .NET 10 and run it on Linux...

Of course! Now all I need is to remember how it works, and what's new with .NET 10... which isn't easy. And I can record it, showing people what I've discovered along the way. I LOVE THIS STUFF!

Before that, however...

I Need a Plan

How would you go about upgrading a 22 year old project using Claude? I know it's doable - it has to be - the code isn't that whackadoodle and strange (though I know someone like Jon Skeet might argue that one).

For me, my plan is straightforward:

  • Do what it takes to get the basics to build on .NET 10.
  • Rip out the functionality that doesn't make sense, and that I don't need.
  • Upgrade the old stuff to something better - rip out Repository nonsense, for instance, in favor of Command and Query classes.
  • Upgrade the innards to get away from the Provider Model.
  • Add functionality I do want, such as a built-in MCP server, testing tools, some expression resolvers (aka "LINQ"), and helper classes (Commands and Queries, as mentioned).

I feel like that would be a great "upgrade", and I also feel like I would never consider trying such a thing if I didn't have Claude, and a good friend to help me...

Even Better with Jon Skeet

Given that I haven't used .NET in ages, I figured it would be fun to bring along someone who has: Mr. Jon Skeet himself! He's an "AI Pragmatist" which means he's ... well... wants to see what's there before using it more. I suppose that's how I would put it.

I asked, Jon said "Yes! Of course!", and we're off and running.

I just pushed the first episode which is live for Premium folks, and I'm probably going to make the recordings available for Core members to join and watch live, helping us with questions, thoughts, and so on.

The next episode is scheduled for tomorrow, 07-23-2026 at 0900 EDT (I'm in Tennesee at the moment, so that fits our schedule). If you'd like to join and watch, I'll have the link up in the calendar for the Core folks. We're recording with Riverside, which means we'll have MUCH better audio and video!

I'm hoping to record 5-6 sessions total, but it may be more, may be less. If you'd like to contribute, and you've been debating one of my cohorts - now is the time. You get to sit in on our sessions, and all the upcoming cohorts (I do one per quarter) are yours.

Thanks for reading - hope to see you!

Rob.

Get these by email

Essays on code, business and the long way round.

No spam. Unsubscribe from any email, one click, and it only stops what you asked it to stop.