no compiler·no virtual DOM·no build step

HTML that reacts.
Built for humans.

Import a component straight from a URL — no install, no bundler. The browser fetches the .html and boots it live. Components are just files, anywhere. Nothing else does that.

$bunx create-spark-html-app@latest
<div import="https://cdn.jsdelivr.net/gh/wilkinnovo/
  spark/website/public/components/url-card.html">
</div>

● live — fetched from a CDN, no bundler

fetched from a URL · rendered at 4:23:58 PM

This whole component is a plain .html file on a CDN — no bundler touched it.

0 build step ~13kb runtime 0 dependencies 980+ tests 20 packages

Why Spark

AI writes more of the web every day. Spark is for the people who still love writing it themselves — view-source romantics, hand-crafters, the ones who want to understand every line they ship. So it gets out of your way: no compiler rewriting your code, no virtual DOM between you and the page, no build step between you and the browser. The HTML you write is the app that runs.

What's in Spark

Single-file components.

Markup, script and style in one .html file. Nothing rewrites your code.

Surgical reactivity.

A change re-evaluates only the bindings that read it — not the page.

Shared stores.

Named stores let any two components share state. No providers.

Declarative router.

<template route> + router(). Active links and a route store, free.

SEO prerender.

Real HTML per route at build time. No SSR server, no app changes.

One-line theming.

theme() — dark / light / system, persisted, no flash.

Use it — no build required

1 Load Spark from a CDN
<script type="importmap">
  { "imports": {
    "spark-html": "https://esm.sh/spark-html@0.27"
  } }
</script>

<script type="module">
  import { mount } from 'spark-html';
  mount();
</script>
2 Import a component — even from a URL
<div import="components/card"></div>

<!-- …or straight from anywhere -->
<div import="https://cdn.jsdelivr.net/
  gh/you/repo/card.html"></div>

Serve any static folder (bunx serve) — no install, no bundler, no compiler. Read the docs →

Built with Spark

View all →