Developer Toolsalpha

Zero-Bundle Components

A small component library that ships zero JavaScript to the client by leaning on React Server Components and modern CSS. I wanted to test the hypothesis that most of what we put into client bundles in 2026 is theatre. The answer is: a lot of it is. Tabs, accordions, dialogs, dropdowns, even sliders can run with no JS at all if you accept some constraints. The constraints are real, but they are smaller than I expected.

React Server ComponentsCSSNext.jsTypeScript

What this is

A lab, not a product.

A small component library that ships zero JavaScript to the client by leaning on React Server Components and modern CSS. I wanted to test the hypothesis that most of what we put into client bundles in 2026 is theatre. The answer is: a lot of it is. Tabs, accordions, dialogs, dropdowns, even sliders can run with no JS at all if you accept some constraints. The constraints are real, but they are smaller than I expected.

5

Features

4

Learnings

4

Technologies

Capabilities

What it does

The features that actually got built and run in this prototype.

feature_01.ts
Zero client-side JavaScript for the entire component set when used server-rendered
feature_02.ts
CSS-only interactions using the popover API, anchor positioning, and :has() selectors
feature_03.ts
Progressive enhancement so the experience degrades cleanly on older browsers
feature_04.ts
Accessible by default, with focus management handled by the platform instead of a script
feature_05.ts
Server-rendered animations using view transitions where supported

The stack

What it is built with

The libraries and runtimes I picked for this lab and why they earned their place.

React Server Components
CSS
Next.jsTypeScript

What I learned

Learnings, in order of how much they surprised me

The things I would tell another engineer before they tried the same experiment.

01
Many interactive patterns can be CSS-only with modern features. The trick is knowing which
02
Progressive enhancement requires careful planning, see Next.js vs Remix
03
Some interactions genuinely need JavaScript for the best UX, especially keyboard-heavy ones
04
Read the RSC insight for the full rules of thumb

Note: This is an experimental project in the alpha stage. It is a learning exercise and technical exploration rather than a production-ready solution. Patterns and code may change.

Want me to build something like this for you?

If this kind of work fits your roadmap, I take on a small number of paid projects each quarter.