Back to home
eQuantic UI
UI framework — for .NET teams shipping web apps
Write UI in C#.Ship JavaScript.
A C#-first UI framework that compiles to TypeScript — so .NET teams ship modern web apps without a second stack, a second team, or a second deploy story.
MIT licensed
No runtime shipped
SSR + hydration
Counter.cs
public class Counter : StatefulComponent{ private int _count = 3; public override VisualNode Build(...) { var row = new Row(gap: 12); row.Add(new Text($"{_count}")); row.Add(Button("+1", () => SetState( () => _count++))); return row; }}
LIVE PREVIEW
3
Back to home
eQuantic UI
UI framework — for .NET teams shipping web apps
Write UI in C#.Ship JavaScript.
A C#-first UI framework that compiles to TypeScript — so .NET teams ship modern web apps without a second stack, a second team, or a second deploy story.
MIT licensed
No runtime shipped
SSR + hydration
Counter.cs
public class Counter : StatefulComponent{ private int _count = 3; public override VisualNode Build(...) { var row = new Row(gap: 12); row.Add(new Text($"{_count}")); row.Add(Button("+1", () => SetState( () => _count++))); return row; }}
LIVE PREVIEW
3
WHY IT EXISTS
Three decisions the framework is built on
Write UI in pure C#
Declarative components in the language your team already knows. Compiles to TypeScript, runs as JavaScript. Zero context-switching.
Server Actions, type-safe
Call server methods from the client with full type-safety, automatic serialization, and built-in CSRF protection. No REST scaffolding.
Zero-runtime CSS
Styles extract at compile time. No runtime parsing, no FOUC, no Tailwind JIT. Ships pure CSS — fast, cacheable, debuggable.
Write UI in pure C#
Declarative components in the language your team already knows. Compiles to TypeScript, runs as JavaScript. Zero context-switching.
Server Actions, type-safe
Call server methods from the client with full type-safety, automatic serialization, and built-in CSRF protection. No REST scaffolding.
Zero-runtime CSS
Styles extract at compile time. No runtime parsing, no FOUC, no Tailwind JIT. Ships pure CSS — fast, cacheable, debuggable.
Write UI in pure C#
Declarative components in the language your team already knows. Compiles to TypeScript, runs as JavaScript. Zero context-switching.
Server Actions, type-safe
Call server methods from the client with full type-safety, automatic serialization, and built-in CSRF protection. No REST scaffolding.
Zero-runtime CSS
Styles extract at compile time. No runtime parsing, no FOUC, no Tailwind JIT. Ships pure CSS — fast, cacheable, debuggable.
WHAT IT DOES
The five things a .NET team feels first
20+ production-ready components
Grid with virtualization, Modal, Form, Table, Tabs, Combobox, Tree, Calendar, Toast — every primitive you ship a real app with. Themeable, accessible (WAI-ARIA), and tested.
Enterprise-grade hot reload
Save a C# file and the browser updates in place, keeping component state. The loop is as tight as the one your front-end team already has.
Set breakpoints in your UI code
Source maps carry the C# through, so the debugger stops in the file you wrote — not in generated JavaScript you have to reverse-engineer.
Compile-time styles, runtime speed
Co-locate styles with components — they ship as a static stylesheet. No runtime parsing, no extra JS, no class-name prop drilling.
Call your backend like a local method
Annotate a C# method with [ServerAction] and call it from a button onClick. Args serialize, types flow, errors propagate. CSRF & auth handled.
20+ production-ready components
Grid with virtualization, Modal, Form, Table, Tabs, Combobox, Tree, Calendar, Toast — every primitive you ship a real app with. Themeable, accessible (WAI-ARIA), and tested.
Enterprise-grade hot reload
Save a C# file and the browser updates in place, keeping component state. The loop is as tight as the one your front-end team already has.
Set breakpoints in your UI code
Source maps carry the C# through, so the debugger stops in the file you wrote — not in generated JavaScript you have to reverse-engineer.
Compile-time styles, runtime speed
Co-locate styles with components — they ship as a static stylesheet. No runtime parsing, no extra JS, no class-name prop drilling.
Call your backend like a local method
Annotate a C# method with [ServerAction] and call it from a button onClick. Args serialize, types flow, errors propagate. CSRF & auth handled.
20+ production-ready components
Grid with virtualization, Modal, Form, Table, Tabs, Combobox, Tree, Calendar, Toast — every primitive you ship a real app with. Themeable, accessible (WAI-ARIA), and tested.
Enterprise-grade hot reload
Save a C# file and the browser updates in place, keeping component state. The loop is as tight as the one your front-end team already has.
Set breakpoints in your UI code
Source maps carry the C# through, so the debugger stops in the file you wrote — not in generated JavaScript you have to reverse-engineer.
Compile-time styles, runtime speed
Co-locate styles with components — they ship as a static stylesheet. No runtime parsing, no extra JS, no class-name prop drilling.
Call your backend like a local method
Annotate a C# method with [ServerAction] and call it from a button onClick. Args serialize, types flow, errors propagate. CSRF & auth handled.
THE LIBRARY
22 components, not a starter kit
Grid
Data
Virtualized, sortable, filterable
Table
Data
Resizable columns, expandable rows
Tree
Data
Lazy-loaded, drag-reorder
Form
Input
Validated, async-aware fields
Combobox
Input
Async search, multi-select
DatePicker
Input
Range, locales, timezones
Modal
Overlay
Stacked, focus-trap, portal
Drawer
Overlay
Side-anchored, resizable
Toast
Overlay
Queued, action-aware
Tabs
Navigation
Lazy panels, keyboard-nav
Menu
Navigation
Cascading, keyboard-driven
Breadcrumb
Navigation
Truncating, dropdown overflow
Card
Layout
Slot-based, themeable
Splitter
Layout
Resizable, persistent state
Stack
Layout
Spacing tokens, responsive
Calendar
Date
Month/week/agenda views
Scheduler
Date
Drag-to-create, recurring
Chart
Viz
Bar, line, donut — themeable
Progress
Feedback
Linear, circular, indeterminate
Skeleton
Feedback
Auto-shape, animated
Avatar
Display
Initials fallback, status dot
Badge
Display
Counter, semantic colours
Grid
Data
Virtualized, sortable, filterable
Table
Data
Resizable columns, expandable rows
Tree
Data
Lazy-loaded, drag-reorder
Form
Input
Validated, async-aware fields
Combobox
Input
Async search, multi-select
DatePicker
Input
Range, locales, timezones
Modal
Overlay
Stacked, focus-trap, portal
Drawer
Overlay
Side-anchored, resizable
Toast
Overlay
Queued, action-aware
Tabs
Navigation
Lazy panels, keyboard-nav
Menu
Navigation
Cascading, keyboard-driven
Breadcrumb
Navigation
Truncating, dropdown overflow
Card
Layout
Slot-based, themeable
Splitter
Layout
Resizable, persistent state
Stack
Layout
Spacing tokens, responsive
Calendar
Date
Month/week/agenda views
Scheduler
Date
Drag-to-create, recurring
Chart
Viz
Bar, line, donut — themeable
Progress
Feedback
Linear, circular, indeterminate
Skeleton
Feedback
Auto-shape, animated
Avatar
Display
Initials fallback, status dot
Badge
Display
Counter, semantic colours
Grid
Data
Virtualized, sortable, filterable
Table
Data
Resizable columns, expandable rows
Tree
Data
Lazy-loaded, drag-reorder
Form
Input
Validated, async-aware fields
Combobox
Input
Async search, multi-select
DatePicker
Input
Range, locales, timezones
Modal
Overlay
Stacked, focus-trap, portal
Drawer
Overlay
Side-anchored, resizable
Toast
Overlay
Queued, action-aware
Tabs
Navigation
Lazy panels, keyboard-nav
Menu
Navigation
Cascading, keyboard-driven
Breadcrumb
Navigation
Truncating, dropdown overflow
Card
Layout
Slot-based, themeable
Splitter
Layout
Resizable, persistent state
Stack
Layout
Spacing tokens, responsive
Calendar
Date
Month/week/agenda views
Scheduler
Date
Drag-to-create, recurring
Chart
Viz
Bar, line, donut — themeable
Progress
Feedback
Linear, circular, indeterminate
Skeleton
Feedback
Auto-shape, animated
Avatar
Display
Initials fallback, status dot
Badge
Display
Counter, semantic colours
MEASURED ON A HELLO-WORLD APPBundle size & TTI
LOWER IS BETTER
eQuantic.UIUS
18 kB142 ms
React + Redux
64 kB410 ms
Angular
132 kB720 ms
Blazor WASM
1450 kB2100 ms
WHY .NET TEAMS PICK IT
One stack, not two
Most .NET shops end up with a JS stack they barely maintain — one team in C#, another in TypeScript, two CI pipelines, two deploy stories. eQuantic.UI collapses that into the stack you already run.
One language, end-to-endThe model, the endpoint and the button that calls it are all C#, reviewed by the same people, in one repository.
Zero JS-runtime overheadThe framework compiles away. What ships is JavaScript your browser runs and CSS it caches — not an interpreter.
Production-grade toolingHot reload that keeps state, breakpoints in your own files, and the .NET build you already have in CI.
Owned, not rentedMIT licensed, on NuGet, and used by the products in this catalogue — including the site you are reading.
WHY .NET TEAMS PICK IT
One stack, not two
Most .NET shops end up with a JS stack they barely maintain — one team in C#, another in TypeScript, two CI pipelines, two deploy stories. eQuantic.UI collapses that into the stack you already run.
One language, end-to-endThe model, the endpoint and the button that calls it are all C#, reviewed by the same people, in one repository.
Zero JS-runtime overheadThe framework compiles away. What ships is JavaScript your browser runs and CSS it caches — not an interpreter.
Production-grade toolingHot reload that keeps state, breakpoints in your own files, and the .NET build you already have in CI.
Owned, not rentedMIT licensed, on NuGet, and used by the products in this catalogue — including the site you are reading.
THE STACK
Drops into what you already run
RUNTIME
.NET 8 / 9Bun (build)Roslyn analysersMSBuild
FRONTEND OUTPUT
TypeScript 5+Web componentsESM modulesSSR + hydration
HOSTING
ASP.NET CoreStatic + SSRAzure / AWS / VercelEdge runtimes
TOOLING
Rider / VSHot reloadF12 debuggerOpenTelemetry hooks
RUNTIME
.NET 8 / 9Bun (build)Roslyn analysersMSBuild
FRONTEND OUTPUT
TypeScript 5+Web componentsESM modulesSSR + hydration
HOSTING
ASP.NET CoreStatic + SSRAzure / AWS / VercelEdge runtimes
TOOLING
Rider / VSHot reloadF12 debuggerOpenTelemetry hooks
RUNTIME
.NET 8 / 9Bun (build)Roslyn analysersMSBuild
FRONTEND OUTPUT
TypeScript 5+Web componentsESM modulesSSR + hydration
HOSTING
ASP.NET CoreStatic + SSRAzure / AWS / VercelEdge runtimes
TOOLING
Rider / VSHot reloadF12 debuggerOpenTelemetry hooks
FROM THE COMMUNITYWhat people are saying about it
“This initiative has a huge potential.”
WC
Willian CésarSoftware Engineer
“This initiative has a huge potential.”
WC
Willian CésarSoftware Engineer
GET STARTED
From zero to running app in 60 seconds
# Install the templatedotnet new install eQuantic.UI.Templates# Scaffold a new appdotnet new equi-app -n MyAppcd MyApp# Run with hot reloaddotnet watch run
QUESTIONS ENGINEERS ASK
The framework, honestly
One language, all the way down
Install the template, scaffold an app, and watch C# become the JavaScript your users actually run. MIT licensed, on NuGet today.
Ready to ship something real?
Book a 30-minute discovery call. We'll tell you within the hour whether we're the right partner — or who is.
Ready to ship something real?
Book a 30-minute discovery call. We'll tell you within the hour whether we're the right partner — or who is.
© 2026 eQuantic Tech. All rights reserved.