Guides

Generate an ASP.NET CRUD app with AI

Lists, forms, validation, search, paging, permissions. The part of every internal tool that is identical every time - written for you, as C# you can read.

This is the whole flow, using a maintenance-log app as the example. It takes about five minutes end to end, and nothing is applied to your app until you approve it.

1. Describe it in plain English

You don't specify entities or field types. You say what the thing is for:

"A maintenance log for our workshop. Machines, and jobs against each machine - who did the job, when, what it cost, and whether it's finished. Each engineer works out of one depot and should only see that depot's jobs."

The assistant reads that as two lists, a relationship between them, a status, a money field and a rule about who may see which rows - and comes back with a proposal rather than a finished app.

2. Read the diff

Every proposal arrives the same way: a list of changes to accept or throw away. This is what it looks like in the workspace.

workshop.projecthelm.in
Design 4 changes
+ List Machine
+ List Job
+ Choices JobStatus
~ Job.Depot - limits who sees the row
Apply Discard

Discard costs nothing and changes nothing. This is the review step that separates generating code from letting a model edit your app unsupervised.

3. What Apply actually generates

For each list, without asking:

Permissions are generated as real checks in the data and controller layers, not as hidden buttons in the UI - which is the distinction that gets internal tools into trouble later. A role can also be limited to particular records rather than a whole list, so an engineer sees their own depot's jobs and not the whole company's.

4. It is live at a URL

Publishing builds the app into its own container and puts it on a yourapp.projecthelm.in subdomain with HTTPS. Not a preview sandbox - a running ASP.NET Core app with its own EF Core database in its own volume. Point your own domain at it whenever you like, with no redeploy.

5. Change it the same way

"Add a photo to each job." "Email the technician when a job is assigned." "Show jobs on a calendar by due date." Each comes back as a diff. Page and colour edits go live within seconds of Apply; anything structural regenerates the source and ships on the next Publish.

What you are left with

A .slnx solution on net10.0 - Core.Models, Core.Dto, Core.Mappers, Core.Data, Services.Abstract, Services.Implementation, UI.Web - that opens in Visual Studio or Rider and reads like something a developer wrote. That is deliberate: see why the output stack is the thing that matters.

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.