A composable TypeScript framework 1.0.0-rc.1 ↗

Build full-stack
TypeScript apps with
one cohesive framework.

UDIOT by Tagna brings web pages, reactive state, middleware and application services into one TypeScript toolkit. Compose the pieces you need, from your first route to your next AI workflow.

npm install @tagna/udiot@1.0.0-rc.1
import { defineWebApp }
  from '@tagna/udiot/web';

export const app = defineWebApp({
  site: { name: 'My UDIOT app' },
  seo: {
    sitemap: true,
    robots: true
  }
});
BuildConnectCompose
WebPages · Routes
MiddlewarePipelines · Validation
ServicesProviders · Scopes
StateStores · Actions
TypeScript first Server + browser Composable modules Experimental AI APIs Release candidate ↗

Why UDIOT

A common foundation for your application.

Explore the framework

TypeScript throughout

Typed contracts for pages, services and state keep your application explicit.

Composable by design

Connect middleware, scoped services and stores around your application.

Your choice of rendering

Use typed pages for server rendering, static sites and hybrid web apps.

Clear support boundaries

Evaluate the pinned RC with documented stable-candidate and experimental APIs.

How it works

Explicit contracts. Connected application layers.

Choose the modules you need. See a composition recipe →

Developer experience

Real APIs. Readable code. Observable state.

store.mjs@tagna/udiot/browser
import { createStore }
  from '@tagna/udiot/browser';

const store = createStore(
  { count: 0 },
  (state, action) => ({
    count: state.count + action.payload
  })
);

await store.dispatch({
  type: 'ADD', payload: 1
});
store.getState(); // { count: 1 }
store.undo();

Typed contracts

Know the shape of your application.

Replaceable services

Choose explicit providers and scopes.

Observable updates

Subscribe to each state transition.

Time travel

Inspect history and undo a change.

Framework capabilities

Small primitives. Plenty of possibilities.

Explore the APIs

Evaluating 1.0.0-rc.1? Review the support matrix for stable-candidate and experimental surfaces.

Try UDIOT in action

A real store, running in your browser.

Open the playground

What will you build?

Start with UDIOT’s documented application patterns.

BUILD WITH A COMMON LANGUAGE.

Bring your next TypeScript idea together.

Start with the RC. Find your way through 141 guides and policy pages.