What does custom .NET software development actually look like for a mid-sized business?
Most mid-market CEOs and CFOs first encounter .NET as a line on a developer's resume or a checkbox on a vendor's capability list. What they rarely receive is a plain answer to what the technology actually does for a business, when it makes sense to commission a custom application instead of purchasing an off-the-shelf product, and what the project looks like from the buyer's perspective. This article addresses those three questions in the order a buyer typically raises them.
PCG has been building .NET applications since the platform's first public release, with project records dating to 1995 when Phoenix Consultants Group was founded. The firm has delivered more than 500 production applications across industries that include environmental remediation, industrial operations, healthcare staffing, and airport ground operations.1 The observations below are drawn from that production history rather than from theoretical analysis.
What does custom .NET actually mean when you are not a developer?
.NET is a software platform built and maintained by Microsoft. It functions as the foundation on which a developer constructs your application. The current production version is .NET 10, released in November 2025 as a Long-Term Support build with security and feature updates committed through November 2028.2 When a business owner hears that an application is built on .NET, the practical translation is a specific set of tradeoffs: mature tooling, a broad pool of available developers, native integration with Microsoft products, and the ability to run on Windows, Linux, or macOS servers depending on the deployment.
The word "custom" is what makes this category different from buying QuickBooks or signing up for a SaaS subscription. A custom .NET application is written specifically for your business: your workflows, your terminology, your reporting requirements, your integrations with the other systems you already run. The application is not configured from a template. Every screen and every rule is designed and built from the requirements your operational team writes down during discovery.
For a mid-sized business, the .NET stack typically includes four components working together. ASP.NET Core handles the application layer, the code that determines what happens when a user clicks a button or submits a form. SQL Server stores the operational data: customers, orders, inventory, audit logs, and the records the business runs on. Razor Pages produces the screens the user sees in the browser. JavaScript enhancements add the interactive behavior, such as live form validation and real-time filtering of data grids, that keeps the application responsive under normal use.1
.NET 10
Microsoft's current Long-Term Support release. Backed by Microsoft's published roadmap through November 2028.
SQL Server
On premise for single-site deployments, Azure SQL or AWS RDS for multi-location applications.
Razor Pages
Server-rendered HTML with JavaScript enhancements for the interactive parts of the screen.
Why .NET 10 and not .NET 8 or 9 for a new build in 2026?
This is the version question every technical buyer should ask in 2026, because the answer has a hard deadline attached. Microsoft ships a new major .NET release every November and gives Long-Term Support releases three years of updates.
- .NET 8 and .NET 9 both reach end of support on November 10, 2026.3 After that date Microsoft issues no further security patches for either. The next vulnerability that affects the runtime does not get fixed.
- .NET 10 is the current LTS release. It shipped on November 11, 2025 and is supported through November 2028, which gives a new application a full multi-year runway before the next platform decision.3
- Microsoft's guidance is to go directly to .NET 10. There is no reason to stage a new build through .NET 8 or 9, because both expire on the same day. Starting a 2026 project on either means the application is born on an expiring runtime.
For a buyer commissioning custom software in 2026, the practical rule is simple: build on .NET 10 so the application has years of vendor support ahead of it, not weeks. A developer proposing a new build on .NET 8 in late 2026 is either not tracking the lifecycle or not planning past launch.
When does a mid-sized business need custom .NET instead of off-the-shelf software?
Off-the-shelf software is almost always the right starting point. If a packaged product matches the work, the recommendation is to purchase it. The conversation about custom development begins when commercial software no longer accommodates the operation and the workarounds begin costing more than the original license. Four recurring situations lead mid-sized businesses to commission a custom .NET application.
The first is when the business operates on rules that no commercial product understands. An environmental remediation firm tracking soil samples against a state DEP audit schedule, a physician staffing company managing credentials across multiple facilities, an airport operator tracking ground support equipment across terminals: each of these has compliance, reporting, or operational rules specific enough that no general-purpose platform encodes them correctly. Operational staff end up working primarily inside spreadsheets that sit alongside the supposedly central system, performing the calculations the platform cannot.
A second pattern is when integration cost exceeds the cost of the software itself. Three or four operational systems run alongside each other without exchanging data. Staff re-enters the same data into each one. Reports take a week to compile because the underlying numbers reside in separate systems. Off-the-shelf middleware can sometimes bridge this gap. When it cannot, or when the middleware vendor's pricing exceeds the cost of developing a connected application, custom becomes the more economical path.
A third scenario is when the existing legacy system is failing and no commercial replacement exists. Visual Basic 6 applications, Microsoft Access databases, Visual FoxPro systems, and custom Delphi or PowerBuilder tools built in the 1990s and early 2000s continue to run mid-market production work in 2026. When the original developer is no longer available, the source code is missing, or the platform itself has reached the end of its development runway, rebuilding on .NET is often the only path forward.
A fourth situation, increasingly common in 2026, is when a business requires AI-driven reporting against operational data and commercial products cannot connect to the database that runs the business. PCG's FireFlight Data Framework, built on modern .NET with SQL Server, provides AI natural language reporting in which staff query live operational data in plain English without exporting to a separate analytics tool.1
The decision is not buy or build. What it turns on is whether the cost of working around a packaged product has grown larger than the cost of building software that fits the operation. By the time leadership reaches this question, the answer is typically already evident in the daily workarounds.
What does the .NET technology stack include and why does it matter for the buyer?
Most buyers do not need to understand what ASP.NET Core does at the code level. They do need to understand what choosing this stack commits them to over the next 5 to 10 years. The decisions made now about platform, database, and hosting determine which future changes will be straightforward and which will be expensive. What follows is a non-technical view of the four components, what each contributes to the business, and what would change under a different stack.
ASP.NET Core
The framework that handles requests from the browser, executes business logic, and returns responses. Cross-platform and maintained by Microsoft. The practical result is that the application can run on Windows or Linux servers without rewriting code.
SQL Server
The repository for all business data. Provides full transaction logging, rollback capability, row-level security, and complex reporting. Audit and compliance reviews proceed faster because the database itself can respond to the auditor's queries.
Razor Pages
The screens the user interacts with. Server-rendered for performance and accessibility. The application loads quickly, performs well on older devices, and stays functional when network conditions are degraded. No heavyweight JavaScript framework subject to breakage on browser updates.
On-premise or cloud
The application can be deployed on a Windows server in your facility, on Azure, on AWS, or on a private hosting provider. Data location remains a business decision driven by compliance and operational requirements, not by vendor constraint.
The combination matters because it determines what is easy to change later and what is expensive. A .NET 10 application with a clean separation between data access, business logic, and presentation can have its interface rewritten in five years without touching the database. The SQL Server schema, designed during the discovery phase, can absorb new fields and tables without breaking the screens that already query it. These are not abstract architectural virtues. They are the reason a custom application built in 2026 should still be running, with sensible updates, in 2036.1
What does a custom .NET project actually look like from the buyer's perspective?
The single largest source of disappointment in custom software engagements is rarely the technology itself. It is the gap between what the buyer anticipated the project would require and what the project actually demanded of the buyer's team. PCG conducts every .NET engagement through four phases. Each phase produces visible deliverables the buyer reviews before the next phase begins.
The first phase is discovery. PCG works with operational staff and technical leadership to document what the application must do, what systems it must integrate with, and what is explicitly out of scope. Discovery is conducted as a working session, not a questionnaire sent for the client to complete in isolation. The deliverables are a requirements document and a scope definition that both teams sign before any architecture work begins.1
Architecture and design review is the second phase. PCG designs the SQL Server schema, the application architecture, and the screen wireframes. A working prototype of the primary screens is built and reviewed by the buyer's team before any production code is written. This is the moment to find out that the workflow on the screen does not match how the business actually operates. Catching that mismatch on a wireframe takes an hour, while the same correction after the application has been built and deployed takes weeks of rework.
Development is the third phase and the longest part of the engagement. PCG builds the application in regular milestones, sharing working demonstrations on a recurring cadence with the buyer's team. The buyer's operational staff provides feedback during the build, not at the end. Source control, peer code review, and documented development standards are in place from day one.1
Testing, deployment, and post-launch support is the fourth phase. The application is tested against production-representative data volumes, reviewed for security, validated against the original requirements document, and deployed. Training is delivered by the engineering team. Post-launch support is provided by the same engineers who built the application.
What the buyer commits to
- Operational staff time during discovery interviews
- Review of wireframes and working prototype before development
- Feedback during milestone demonstrations
- User acceptance testing against real workflows
- Training participation from the team that will use the application
What PCG delivers
- Production .NET 10 application on SQL Server
- Full data ownership with export capability
- Schema reference and architecture notes
- Operational runbook for ongoing administration
- Test coverage on critical business logic
- Trained operational team and a deployment that runs
A concrete example illustrates the pattern. PCG's Ground Support Equipment management system was developed for an airport operator running fleets of tugs, belt loaders, air starters, and ground power units across multiple terminals. The previous tracking method consisted of whiteboards, spreadsheets, and manual check-in logs distributed across departments. A custom .NET application consolidated all of that into a centralized command center for fleet status, parts inventory, preventive maintenance scheduling, and personnel assignment. Maintenance-related downtime declined by 40 percent through predictive scheduling. Inventory visibility moved from fragmented records to 100 percent coverage across the equipment fleet.4
What goes wrong when custom .NET is done badly?
Credibility on this topic comes from naming the failure modes openly, not from listing features. Four common failure patterns appear in custom .NET projects that go poorly, and each carries a recognizable signal a buyer can identify before signing the contract.
The first failure is skipping discovery. A vendor quotes a fixed price from a one-page intake form, the contract gets signed, and development begins against assumptions that were never validated with the people who will actually use the application. Six months later the system goes live and the operational team rejects it because the workflow on the screen does not match how the work is actually performed. Recovery from this point costs more than the original budget. The signal to recognize in advance: a vendor proposal with no discovery phase line item, or one that compresses discovery into a single week before development starts.
Tightly coupled architecture is the second failure mode. A developer builds the application as one large block of code where the database access, business rules, and screen rendering are intermingled. The application works when it ships. Two years later, adding a single new report requires changes across the entire codebase, and any modification carries a high risk of breaking something else. What to look for in advance: no architectural documentation in the proposal, no mention of layered design, no commitment to separating data access from business logic. This is how a project becomes technical debt that costs more to patch than to replace.
Data lockout is a third common failure. The application ships, the buyer pays the invoice, and there is no clean way to get the operational data back out. Migrating to another system later means manual re-entry or expensive custom export work, and in the worst cases the data is held hostage against renewal. To spot this in advance: no explicit clause stating that the buyer's data is exportable in standard formats at any time, with documentation of how it is structured.
Absent test coverage on critical business logic is the fourth pattern. The application calculates payroll, compliance reports, inventory levels, or any other figure where an incorrect result carries real consequences. No automated tests verify that the calculations remain accurate as the codebase evolves. A change to one part of the application silently breaks a calculation elsewhere, and the error often goes undetected until a customer or regulator identifies it. The warning signal in a proposal: testing treated as a phase at the end of the project rather than a practice running throughout development.5
What does PCG deliver at the end of a custom .NET engagement?
The technology platform is a means. What matters at delivery is the business outcome. A PCG custom .NET engagement closes with a defined set of deliverables. Each one exists because the absence of any one of them is what creates the failure modes described above.
- Production .NET 10 application on SQL Server, deployed and running in the buyer's environment, configured for the workflow the discovery phase documented.
- Full ownership of your data, with export capability. Your operational data is yours and can be exported in standard formats at any time. There are no usage restrictions on your own data and no barrier to getting it out.1
- Modular architecture with layered design. Data access, business logic, and presentation separated so changes to one layer do not require rebuilding the others. New features can be added as modules without touching existing functionality.1
- Secure authentication and role-based authorization with audit trails. A login system with role-based controls that enforce what each user can see and do. Sensitive operations logged with user identity, timestamp, and before/after state.1
- Schema reference, architecture notes, and operational runbook. Documentation written to give you full visibility into how your data and workflows are structured.1
- Test coverage on critical business logic. Unit tests on the calculations the application's correctness depends on. Integration tests verifying that workflow transitions produce expected results.1
- Version-controlled source and documented deployment process. Releases are reproducible and reversible, so updates and rollbacks are reliable.1
A custom .NET application is a capital asset. Treating it as anything less, at any phase of the engagement, is how a project that starts as a 12-month investment turns into a 5-year recurring cost.
Key takeaways
- Custom .NET means building a business application on Microsoft's .NET platform with SQL Server, designed around your workflow instead of forcing the workflow into a packaged product.
- In 2026 the version that matters is .NET 10 LTS, supported through November 2028. Both .NET 8 and .NET 9 reach end of support on November 10, 2026, so a new build should start on .NET 10, not on an expiring runtime.
- Custom becomes the economical path in four situations: rules no product understands, integration cost exceeding the software cost, a failing legacy system with no commercial replacement, and AI reporting against operational data a product cannot reach.
- A PCG engagement runs four phases (discovery, architecture, development, testing and support) with a signed scope before any code, and a working prototype reviewed before production build.
- The four failure modes to screen a vendor against are skipped discovery, tightly coupled architecture, data lockout, and missing test coverage on business-critical calculations.
How is custom .NET different from low-code platforms like Microsoft Power Apps?+×
Which version of .NET should a new custom application be built on in 2026?+×
Does my business need to be on Windows to use a custom .NET application?+×
What happens if PCG goes away. Am I locked in?+×
Can a custom .NET application connect to QuickBooks, Sage, or our existing ERP?+×
How long does a typical mid-market custom .NET project take?+×
What is the difference between hiring PCG and hiring an offshore .NET shop?+×
Can we start small and add features later, or do we have to build everything at once?+×
Allison Woolbert
Allison has been building .NET applications since the platform's initial release, with a broader software development background extending to the early 1980s. Her work includes enterprise operational systems built with corporations such as ExxonMobil and Nabisco, compliance platforms for environmental regulatory operations, healthcare staffing applications, and the FireFlight Data Framework, PCG's proprietary .NET platform deployed across active client engagements.
Phoenix Consultants Group was founded in 1995 and has delivered more than 500 production applications. The principle behind every PCG engagement: the technology platform is a means, and what matters at delivery is the business outcome.
Sources
- Phoenix Consultants Group, Custom .NET Software Development service page. phxconsultants.com/custom-net-software-development-that-fits-your-business/
- Microsoft, .NET 10 release notes and support policy. .NET 10 is a Long-Term Support release, shipped November 11, 2025, supported through November 2028.
- Microsoft .NET Blog and .NET release lifecycle: .NET 8 (LTS) and .NET 9 (STS) both reach end of support on November 10, 2026; .NET 10 (LTS) is the recommended upgrade target. devblogs.microsoft.com/dotnet
- Phoenix Consultants Group, Case Study: Ground Support Equipment (GSE) Management System for Airport Operations. phxconsultants.com
- Phoenix Consultants Group, True Cost of Technical Debt: An Executive Guide (Tech Wisdom). phxconsultants.com