Architecture

Behavior engines, separate from the view.

Focus management, floating positioning, selection, virtualization, accessibility — 234 behavior engines hold it, framework-agnostic. Vue and React are complete renderers over them today; Svelte and Web Components consume the same engines through their own thin bindings — so a fix or a feature lands everywhere at once.

Vue

A complete renderer — first-class SFCs with <script setup>, auto-imported in Nuxt. The face this entire site is built on.

React

A complete renderer — the same components, same props, same behavior over the identical engines. The React parity proves the engine, not the framework, is the product.

Web Components

Engine bindings today, being elevated to a full custom-element face — the framework-free path, and how Angular consumers adopt Carapace.

234 behavior engines

Each engine owns one hard problem — floating, focus-trap, roving-tabindex, virtual windowing — and is tested once, used by every framework face.

Accessible in the engine

Keyboard navigation, focus management, and ARIA are handled where the behavior lives — not re-implemented, and forgotten, per component.

JavaScript, not TypeScript

All source is JavaScript with JSDoc types — no compile step in your way, no type-only abstractions to fight.

32 composables

Reusable logic hooks — forms, viewport, toasts, theming — that you compose into your own components, the same primitives the library uses.

One source of truth

Same component. Same props. Live.

This is a Vue face over the shared engines — but the props, behavior, and accessibility are identical on the React face — with Svelte and Web Components consuming the same engines through their own bindings. Drive it; the engine is what's responding.

Sample dashboard

Service overview

Live
Active sources
1,284
+48
Open events
37
-12
Auto-resolved
92
+6

Event volume

Pipeline

  • Collection46
  • Correlation28
  • Automation18
  • Idle8

One design system. Every stack.

Adopt Carapace in Vue, React, or plain Web Components — or have us build your product on it. Let's talk.

Talk to our teamBack to overview