Guides

For .NET freelancers and agencies

The CRUD part of a client project is the least interesting work you do and a large share of what you bill for. It is also the part a client can most easily tell is slow.

Where the time actually goes

On a typical internal-tool engagement, the first two weeks rarely contain anything you would put in a portfolio: scaffolding a solution, wiring EF Core, sign-in, roles, a dashboard, and the fifth CRUD screen that is identical to the first four. The interesting work - the client's actual rules, the integration that is unique to them, the thing they are paying you to think about - starts after that.

ProjectHelm is aimed squarely at collapsing the first part. You describe the lists and the rules, review the diff, approve, and the scaffolding exists on a real URL the client can open the same afternoon.

Why the output stack decides whether this is useful

A generator only helps a .NET contractor if what it generates is .NET. Handing a client a React SPA when the engagement, the quote and the maintenance retainer are all written around ASP.NET is not a shortcut, it is a scope change you would have to explain.

What comes out is a net10.0 .slnx solution: Core.Models, Core.Dto, Core.Mappers, Core.Data, Services.Abstract, Services.Implementation and UI.Web, using EF Core. It opens in Visual Studio or Rider. There is no ProjectHelm SDK to inherit from and no DSL in place of C#, which is the only reason handover is a conversation rather than a negotiation.

Showing work early

The demo problem is real: a client cannot review a wireframe, but they can review a screen. Because every app gets its own subdomain with HTTPS from the first publish, you can put something clickable in front of them in the first meeting, then change it live while they watch - each change as a diff you approve, so a stray sentence in a meeting never silently rewrites their data model.

Several clients at once

Each app is its own workspace, its own container and its own database - not tenants in a shared schema. One client's data cannot appear in another's app, which is the assurance you want to be able to give in writing rather than hope for. Your own domain goes on whichever apps need it.

The commercial bit, plainly

Billing is prepaid credits: you pay for the AI you actually use, plus a small daily rate while an app is live. There is no per-seat licence for your client and no minimum term. For agency work this usually matters less as a cost than as something you can put a number against in a quote before you start.

Worth saying outright, because you will be asked: hosting the app with us is a commercial relationship, and if you leave, you leave the hosting. What you do not leave behind is the ability to read the code - it is ordinary ASP.NET Core, and that is the deliberate design choice this whole product rests on.

Where it does not fit

If you want to see the shape of the output before committing an evening to it, the CRUD walkthrough is the shortest route.

Describe your app. Read the diff. Ship it.

The source is yours to open in Visual Studio or Rider from the first build. Sign up and see what it generates for your own idea.