INTEGRATE / KEEP WHAT WORKS

Bring your stack.

Use Typed for one island or build the whole interface. Each integration makes the same decisions explicit: who creates the output, who updates it, and who cleans it up.

Render pages and applications

Choose where rendering starts, how HTML reaches the browser, and what owns updates.

Mount a Typed application with Vite

Give a plain Vite entry point one DOM runtime, an explicit mount, and predictable development cleanup.

Open the integration →

Typed templates in Astro

Let Astro own pages and Markdown while Typed renders and hydrates reactive islands with explicit lifetimes.

Open the integration →

Pass trusted HTML into Typed SSR

Preserve a renderer's serialized output and its real chunk boundaries.

Open the integration →

Pass existing DOM into Typed

Keep the nodes your renderer created. Typed places them without taking over their descendants.

Open the integration →

Share a page with another framework

Connect Typed to an existing component lifecycle without giving two renderers the same subtree.

Use React and Typed together

Render in either direction with @typed/react, share Effect services through a provider, and preserve server HTML during hydration.

Open the integration →

Use Vue and Typed together

Use @typed/vue for bidirectional rendering, native composables, shared Effect services, and request-local SSR and hydration.

Open the integration →

Use Svelte 5 and Typed together

Use @typed/svelte for bidirectional rendering, native stores, Effect services, and matching server and browser snapshots.

Open the integration →

Use Web Components and Typed together

Define a Typed custom element once, then use the same view and services in browsers, server rendering, and tests.

Open the integration →

Connect browser and network APIs

Turn requests, messages, and observations into typed programs with explicit cleanup.

Fetch and validate API data without blocking the view

Use Effect's HTTP client and Schema to give Typed views validated data with cancellable requests.

Open the integration →

Enhance a server form with Typed

Render a working native form on the server, then hydrate its Typed validation hints without taking over submission.

Open the integration →

Show live WebSocket updates in Typed

Connect Effect's Socket and Stream to Fx, decode incoming messages, and render a scoped deployment feed.

Open the integration →

Compute in a browser Worker and render with Typed

Use Effect RPC and its browser worker platform for typed requests, cooperative cancellation, and scoped rendering.

Open the integration →

Measure a chart host with ResizeObserver

Attach a scoped measurement stream to a template ref and keep the same chart host as its dimensions change.

Open the integration →

STREAMING SSR

Third-party components can keep streaming.

React and Vue forward their server-rendered chunks directly through Typed. See what streams, what buffers, and how the integration direction changes the result.

Compare streaming support →