Skip to content

CoalesceThe full-stack meta-framework for ASP.NET Core and Vue.

Build what matters. Generate the rest.

Coalesce

Why Coalesce?

Skip the Plumbing

You build Entity Framework data models, domain services, and rich user interfaces. Coalesce generates API controllers, DTOs, TypeScript models, API clients, and more. Focus on delivering value - we'll handle the trivia.

Effortless UX

Generated ViewModels include auto-save, bulk saves, dirty tracking, loading states, and validation — all flowing from your C# model. Ready-made Vue components give you data-driven dropdowns, date pickers, and more, ready to use in your UIs.

Security Included

Apply role-based, row-level, and property-level security with simple declarative attributes or completely custom code — whichever fits the scenario. Security trimming is enforced automatically on every API response.

The Coalesce Workflow

1

Define Your Models

Write models with Entity Framework. Use attributes to configure behavior, security, and validation. Write service classes for anything that doesn't fit into simple CRUD.

cs
[Create(Roles = "HR")]
[Edit(Roles = "HR,Admin")]
[Delete(DenyAll)]
public class Employee
{
    public int EmployeeId { get; set; }

    [Search]
    public required string Name { get; set; }

    [Search, EmailAddress]
    public string Email { get; set; }

    public DateOnly HireDate { get; init; }
}
2

Run Code Generation

A single dotnet coalesce command generates everything between your domain models and your UI.

dotnet coalesce
3

Build Your Experience

Use the generated APIs and TypeScript with the provided Vue components to build custom pages with rich features and full type-safety. Or, start using the full-featured admin pages right away to view and edit data.

vue
<template>
  <c-loader-status :loaders="[employee.$load, employee.$save]">
    <c-input :model="employee" for="name" />
    <c-input :model="employee" for="email" />
    <c-input :model="employee" for="hireDate" />
    <v-btn @click="employee.$save()">Save</v-btn>
  </c-loader-status>
</template>
<script setup lang="ts">
  import { EmployeeViewModel } from "@/viewmodels.g";
  const employee = new EmployeeViewModel();
  employee.$load(1);
</script>

One Model, Full Stack

From a single C# class, Coalesce generates a complete vertical application slice:

You write:
cs
[Edit(Roles = "HR,Admin")]
[Delete(DenyAll)]
public class Employee
{
    public int EmployeeId { get; set; }

    [Search, Required]
    public string Name { get; set; }

    [Search, EmailAddress]
    public string Email { get; set; }

    public DateOnly HireDate { get; init; }

    [Coalesce]
    public async Task SendWelcomeEmail(
        [Inject] IEmailService emailService)
    {
        await emailService.Send(Email, "Welcome!");
    }
}
Coalesce provides:
C# — Server
⚙️ EmployeeController.g.cs Full CRUD + custom methods API
📦 EmployeeDto.g.cs Request/response DTOs with security trimming
TypeScript — Client
📋 metadata.g.ts Type metadata, validation rules, security info
🔷 models.g.ts Interfaces and enums
🧩 api-clients.g.ts Typed HTTP clients for every endpoint
viewmodels.g.ts Reactive ViewModels with auto-save, loading states, validation
Vue — UI
📄 Admin list & editor pages Full CRUD UI out of the box
🧩 Input components Dropdowns, date pickers, selects — model-driven
🧩 Display components Tables, detail views, lists

Coalesce vs. Alternatives

Unlike low-code platforms, you're never boxed or locked in. Unlike one-time scaffolding, Coalesce regenerates as your models evolve.

CoalesceLow-Code Platforms
Power Apps, OutSystems
API Client Generators
NSwag, OpenAPI codegen
Build from Scratch
Controllers, AutoMapper
Time to working CRUD✅ Minutes✅ Minutes❌ Backend not included❌ Days to weeks
Adaptability to change✅ Re-run codegen⚠️ Varies by vendor✅ Re-run client gen❌ Manual updates everywhere
Admin UI included✅ Full-featured✅ Included❌ Not included❌ Not included
Code Generation✅ Server & Client❌ No source code⚠️ Client only❌ Neither
Fully customizable✅ Override anything⚠️ Limited✅ Full control✅ Full control
Security model built-in✅ Row & property level⚠️ Vendor-specific❌ Not included❌ Build from scratch
Deployment✅ Any host❌ Vendor lock-in✅ Any host✅ Any host

The Right Fit

Any application where CRUD is the foundation and you'd rather spend time on business logic and user experience than wiring up APIs and forms is a perfect fit for Coalesce.

Internal ToolsAdmin PanelsLine-of-Business AppsMVPs & PrototypesData-Driven ApplicationsCRUD-Heavy Backends

Ready to Build Faster?

Set up a new project in under five minutes. The getting started guide walks you through creating your first model, running codegen, and seeing the admin UI — no configuration required.


Coalesce is a free and open-source framework created by IntelliTect to fill our desire to create better apps, faster. IntelliTect is a high-end software architecture and development consulting firm based in Spokane, Washington.

If you're looking for help with your software project, whether it be a Coalesce application, other technologies, or even just an idea, reach out to us at info@intellitect.com — we'd love to start a conversation! Our clients range from Fortune 100 companies to local small businesses and non-profits.