kit.js
Small interactive runtime for plain HTML
The standalone browser runtime extracted from Kitwork: declarative expressions, scoped state, validation, events, live updates, and SPA navigation without a build step, eval, dependencies, or a virtual DOM.
Project context active
01 / Why
Why it began
KitJS started from a practical browser question: how little runtime is needed to make HTML respond to state and user behavior without turning the entire page into a large client application? It grew from earlier experiments with reactive JavaScript, then gradually moved closer to HTML and explicit runtime behavior.
02 / Built
What I built
The work explored declarative attributes, small scopes, DOM updates, validation, and reusable behavior close to the elements that use it. Instead of hiding the browser, it treated the DOM as part of the programming surface and kept the client layer deliberately narrow.
03 / Learned
What it taught me
Reactivity is useful, but it is not the whole model. A browser layer also needs boundaries, lifecycle, state ownership, validation, and a clear answer to what should remain server truth. That shift from reactivity toward runtime thinking became one of the foundations for Kitwork Hydrate and Runtime JS.
Stay close to HTML and the browser.
State needs an owner and a boundary.
Behavior should be smaller than the page around it.
Server truth and client interaction are different jobs.
04 / Today
Where it is now
The earlier KitJS experiments remain part of the history, but kit.js is their active continuation: a standalone client runtime published under Kitwork and also delivered by Kitwork Engine. It keeps the browser layer small while making expressions, state, validation, and navigation usable from ordinary HTML.
Related writing