What can you build with it

  • Admin panels and dashboards on any backend — Django, Rails, Laravel, Yii, Go, PHP: keep server templates, add islands where the page has to react. The admin demo is a router, a table with search and paging, optimistic mutations, forms with server errors and a 50 000-line virtual log in one file.
  • Progressive forms — a plain <form> works without JavaScript; wireForm() adds live validation, async rules, server 422 errors on the right fields, wizards and drafts.
  • Search, filters, infinite listsresource() turns a query signal into requests that abort, dedupe, cache and revalidate; list() keeps rows keyed.
  • Content sites that stay server-firstswap() and boost() navigate and patch server fragments with morph, View Transitions and prefetch on intent; islands survive.
  • Widgets in someone else's page — an island is one data-aegis attribute; hydrate(root, { watch: true }) wakes markup inserted by htmx, Turbo or jQuery.
  • Offline-capable toolsresource(url, { offline: true }) persists to IndexedDB and replays a mutation queue on reconnect.

Runnable versions of every example: the examples catalogue (24 patterns, each editable on the page), recipes/ in this repository, the playground and demo/admin.html.

Edit this page on GitHub