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.