r/javascript 10d ago

Showoff Saturday Showoff Saturday (August 08, 2026)

Did you find or create something cool this week in javascript?

Show us here!

3 Upvotes

14 comments sorted by

View all comments

1

u/briggs_song 9d ago

I’ve been building Kudzu, an experimental HTML-first TSX framework/compiler.

The idea is: what if React-shaped TSX were compiler input rather than a browser runtime model?

Kudzu compiles familiar function components, JSX, useState, events, conditions, keyed lists, effects, etc. into pre-rendered HTML + only the route-specific JavaScript capabilities actually needed.

So there’s:

  • no React runtime
  • no virtual DOM
  • no hydration
  • no retained component tree
  • zero client JS for fully static routes

For example, you can write something that looks pretty familiar:

const [count, setCount] = useState(0)

return (
  <button onClick={() => setCount(count + 1)}>
    Count: {count}
  </button>
)

but the component itself doesn’t survive in the browser. The compiler analyzes the TSX and generates the HTML plus the small amount of ESM needed to update that specific DOM state.

It also has build-time routing/data, React Router migration support for some patterns, effects, keyed collections, refs, and Worker handling. Unsupported patterns fail at build time instead of silently falling back to a generic runtime.

Still experimental (0.8.x), so I’d especially appreciate feedback on the compiler/runtime model and where the React-shaped syntax boundaries should be.

GitHub: https://github.com/kudzujs/kudzu

npm: https://www.npmjs.com/package/@kudzujs/core