Cuek

The minimalist, non-reactive view library.

Get started View on GitHub
Counter.tsx
function Counter({}, ctx) {
  let count = 0;

  return () => (
    <div class="counter">
      <p>Count: {count}</p>
      <button onclick={() => { count++; ctx.rerender(); }}>
        Increment
      </button>
    </div>
  );
}

Non-Reactive by Design

No hidden reactivity, proxies, or magical side effects. You have full control over state updates via explicit rerendering, making your application flow entirely predictable.

Feather-weight Core

A tiny footprint with zero unnecessary abstractions. Cuek provides only the essential foundation needed to build fast interfaces, eliminating the overhead of traditional frameworks.

Vanilla HTML as JSX

No framework magic. Use standard onchange instead of synthetic onChange for form inputs. Events are native, and attributes map exactly to the browser APIs.