Skip to content

Inglorious Web

Lightweight & Predictable

Full-tree rendering with DOM diffing. Entity-based. No signals. No magic.

No Signals or Subscriptions

Full-tree re-renders on state change, lit-html diffs the DOM. Simple. Predictable. Zero framework overhead.

Entity-Based Rendering

Each entity type defines its own render() method. Compose UIs by invoking api.render(id) to render entities declaratively.

Type Composition

Types as arrays of behaviors. Add logging, guards, or any cross-cutting concern without wrapper hell or HOCs.

Zero Component State

All state lives in the store. No refs, no lifecycle hooks, no framework-level memory leaks.

Built-in Components

Router, forms, tables, select dropdowns, virtual lists—all entity-based, all customizable, all testable.

Transparent Architecture

Pure JavaScript. No JSX required (though supported). No compiler. No magic. Just functions and events.

Released under the MIT License.