Skip to content

Introduction

Whisq is a reactive JavaScript/TypeScript framework for building web UIs. It uses signals for state, hyperscript functions for elements, and function components for composition.

import { signal, component, div, button, span, mount } from "@whisq/core";
const Counter = component(() => {
const count = signal(0);
return div(
button({ onclick: () => count.value-- }, "-"),
span(() => ` ${count.value} `),
button({ onclick: () => count.value++ }, "+"),
);
});
mount(Counter({}), document.getElementById("app")!);

No JSX. No build step. No compilation. Just function calls.

  • AI-assisted developers — Whisq’s API is designed so AI generates correct code on the first attempt. The entire API fits in <5K tokens.
  • Developers who want simplicity — No hooks rules, no virtual DOM, no template syntax to learn. Everything is a function.
  • Teams shipping fast — Zero build configuration. <script type="module"> and you’re running.

Every HTML element is a typed function. div(), button(), input() — no template strings, no JSX transpilation. TypeScript gives you autocomplete for props and events.

Reactive state is a first-class primitive, not a framework-specific hook pattern. Signals are standalone values that track dependencies automatically.

const count = signal(0); // create
count.value; // read (tracks)
count.value = 5; // write (triggers updates)

Whisq was designed from day one for AI code generation:

  • Function calls — AI generates function calls more accurately than JSX/templates
  • No special syntax — No <template>, no @click, no {#each}. Just JavaScript.
  • Small API surface — The complete API fits in a single CLAUDE.md file (<5K tokens)
  • Typed everything — TypeScript catches AI mistakes at compile time

Whisq runs directly in the browser via ES modules. No bundler required for development. Add Vite when you need production optimization.

FeatureReactVueSvelteWhisq
ReactivityuseState + rulesref() + .value$state runesignal() — no rules
TemplatesJSX (needs build)SFC templatesSvelte syntaxFunction calls — no build
Bundle size~45KB~33KB~2KB<5KB
AI accuracyMediumMediumLowHigh — function calls
Learning curveModerateModerateLowMinimal — just functions

Ready to build something? Head to the Quick Start to create your first Whisq app in 5 minutes.