How I compile React-shaped TSX without React or hydration A developer created Kudzu, an experimental HTML-first TSX framework that compiles React-shaped TSX into static HTML and capability-specific JavaScript, eliminating the need for React, a virtual DOM, or hydration on the client. The framework executes function components during the build and ships only the JavaScript required for each route's actual behavior. I started building Kudzu while making static websites with AI. AI coding tools have become very good at producing React-shaped TSX, and I have become used to reviewing code in that form. Function components, props, JSX, and event handlers are often easier for me to understand and verify than scattered DOM queries and imperative JavaScript mutations. But I was still building static pages. I wanted to keep TSX as the authoring and code-review format without automatically shipping React, a virtual DOM, hydration, or a browser-side component tree. Kudzu grew from that idea: Write familiar TSX, execute components during the build, and ship ordinary HTML with only the JavaScript each route actually needs. Kudzu is an experimental, HTML-first TSX framework. Website: kudzujs.cloud https://kudzujs.cloud/ GitHub: github.com/kudzujs/kudzu https://github.com/kudzujs/kudzu Consider a blog, documentation site, newsletter, or product landing page. Most of the page is already known during the build: TSX is a convenient way to author and review that structure. function PostCard { title, description, href }: { title: string description: string href: string } { return