Introduction
What is Whisq?
Section titled “What is Whisq?”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.
Who is Whisq for?
Section titled “Who is Whisq for?”- 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.
Design Philosophy
Section titled “Design Philosophy”Everything is a function
Section titled “Everything is a function”Every HTML element is a typed function. div(), button(), input() — no template strings, no JSX transpilation. TypeScript gives you autocomplete for props and events.
Signals, not hooks
Section titled “Signals, not hooks”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); // createcount.value; // read (tracks)count.value = 5; // write (triggers updates)AI-native
Section titled “AI-native”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
Zero build
Section titled “Zero build”Whisq runs directly in the browser via ES modules. No bundler required for development. Add Vite when you need production optimization.
How Whisq Compares
Section titled “How Whisq Compares”| Feature | React | Vue | Svelte | Whisq |
|---|---|---|---|---|
| Reactivity | useState + rules | ref() + .value | $state rune | signal() — no rules |
| Templates | JSX (needs build) | SFC templates | Svelte syntax | Function calls — no build |
| Bundle size | ~45KB | ~33KB | ~2KB | <5KB |
| AI accuracy | Medium | Medium | Low | High — function calls |
| Learning curve | Moderate | Moderate | Low | Minimal — just functions |
Next Steps
Section titled “Next Steps”Ready to build something? Head to the Quick Start to create your first Whisq app in 5 minutes.