Every engagement is scoped in writing before it starts. These are the six kinds of work I take on.
Legacy application modernization
Moving ASP.NET Web Forms and .NET Framework applications onto current .NET and Angular. Includes dependency and database migration, replacing discontinued third-party components, and a cutover plan that runs the legacy and rebuilt systems side by side until the new one is trusted.
Custom web application development
Full builds of line-of-business web applications: ASP.NET Core APIs, Angular or Razor front ends, relational data models, authentication and role-based access, administrative tooling, reporting and PDF generation.
Cloud migration and deployment
Moving applications off shared hosting and on-premises servers into Azure — environment and network setup, CI/CD pipelines, database migration, logging and monitoring, and a documented rollback path before anything goes live.
Payment and third-party integrations
Connecting applications to the services they depend on: payment processors, transactional email, document generation, and partner or government REST and SOAP endpoints — including the retry, reconciliation and error handling those integrations need to be trustworthy.
AI and agent integration
Adding AI-backed features to existing products: Model Context Protocol servers that expose a company's own data and actions to an assistant, internal tooling built on that, and the access boundaries that keep it safe to run against production.
Ongoing maintenance and support
Retained availability for systems already in production: bug fixes, dependency and security updates, small feature work, and an agreed response time when something breaks.