A 'native HTML' UI kit turns out to run 40 JavaScript widgets nonstop

Jelly UI's demo — buttons, sliders and checkboxes that squish and wobble like soft rubber when touched — spent Sunday near the top of Hacker News. Then the creator of Semantic UI opened dev tools and found the animation engine recalculating all 40 of the library's components, every 8 milliseconds, whether or not anything on screen was moving.

In brief

The library ships as 40 zero-dependency web components — jelly-button, jelly-otp, jelly-range, jelly-dialog — dropped onto a page with one script tag. Dark mode, right-to-left layout and WCAG AA color tokens come built in.

A reviewer found the six-box OTP input repeats a known anti-pattern, plus undersized hit targets on pagination. One reader flipped the critique: the same squishy hit-boxes could make tiny buttons far easier to hit for anyone without fine motor control.

What "soft-body physics" means for forty HTML components

Jelly UI bills itself as offering "soft, tactile product interfaces," where "real form controls meet soft-body physics." The whole effect is built to degrade gracefully for anyone with prefers-reduced-motion set. On Hacker News the demo climbed past 300 points within nine hours mostly on charm — commenters called it "absolute bliss" and "stupidly creative" — while others reported the effect breaking or lagging depending on browser and device: working on Chrome for Android, for instance, but not on Chrome desktop or Firefox for one commenter.

An animation loop that never turns off

The charm didn't survive a look under the hood for everyone.

"This lib runs a a RAF animation loop every 8ms across every component on the page that causes the entire document to repaint... The "JellyEngine" instead of just calculating the jelly animation on pointer events is recalculating for every active component on the page every frame." — Jack Lukic, creator of Semantic UI

A web consultant who reviews accessibility and performance for a living went element by element through the demo:

"It requires JS to work, which could have been avoided at some arguable ergonomic cost. Personally I'd disqualify it from being considered "native HTML form controls"—it'd need to be just an enhancement to qualify in my mind." — a Rust and web-performance consultant who audited every component

The same review flagged the library's six-box one-time-password input as a textbook anti-pattern and found a checkbox missing a proper indeterminate state.

Not every reaction ran the other way. One commenter's own experience flipped the critique:

"I don't have much fine motor control in my hands. Hitting one of the modern tiny targets usually involves clicking a few times around the target until I finally manage to randomly twitch the mouse into the right place... Something like this, where the target changes shape to improve targeting ability or increase the size of the click zone, would be wonderful." — a commenter who described limited fine motor control in his hands

Nobody in the thread disputed that Jelly UI is charming. The argument was about the bill: 40 always-on physics loops is a novelty on a personal blog, and the same forgiving surface on a real checkout button, running efficiently, is closer to an actual accessibility feature than a gimmick, if anyone bothers to build it that way.

Get breakdowns like this every day

The top Hacker News stories, unpacked — by email, Telegram, or RSS.

Next story · 19 of 27 Read more
🚀Tech

Kimi K3 charges $3 per million tokens; Thompson says that's not the risk

When Hugging Face investigated its own security breach this year, American frontier models refused to help: their safety guardrails read forensic analysis as an attack. Incident responders ended up running the investigation through a Chinese model, Z.ai's GLM-5.2, instead.

★ 281 · 💬 178 · stratechery.com · 6 min