Services
Three ways to work together. Each is a first-person engagement — I do the work, I own the code I write, you review and merge.
How I actually work
I don't have tiers or packages. Every .NET codebase has its own history, its own constraints, its own reasons the obvious fix won't work. I've never done the same modernization twice — that's the part I enjoy, finding the path that fits the particular system in front of me, not reapplying a template.
What I can describe is how engagements usually begin. The first week is mostly listening: your code, your tests (or absence of them), your deploy path, where pain has been accumulating. I'm looking for seams — places where a new pattern can land without breaking what's already working. At the end of that week you have a written plan: what's worth doing, in what order, with what risk. Whether I'm the right person to carry it out is a separate conversation.
If we continue, I work alongside your team in your repository, on your branches, through your review process. My goal is that when my part is done, your engineers can keep going on their own — not that you need me back next quarter.
I tend to do my best work when a team is stuck — looking at a rewrite proposal that feels too risky, a migration that stalled halfway, or a backend where every change takes three times as long as it should. Those usually aren't problems that need a bigger team or a faster framework. They need someone patient enough to find the path forward calmly. That's the conversation I'm here for.
No public pricing on this page. Scope and shape of work vary too much to anchor either of us to a number before we've talked. A 30-minute triage call is free; if we agree to continue, I quote the next step from there.