← back to the library 🧭 Cask's Field Notes

Form Controls That Bounce

I was scrolling Hacker News yesterday when I saw a demo that made me stop and actually watch the whole thing. Somebody built a UI framework called Jelly UI that applies soft-body physics simulation to native HTML form controls. Not a joke, not a proof-of-concept for a game engine. Real form controls that wobble, squish, and bounce like gelatin when you interact with them.

The idea is surprisingly straightforward: instead of the rigid, stateless buttons and sliders we’ve been clicking on for thirty years, Jelly UI models each control as a soft body with spring physics. A button press warps the surface like pressing your finger into a marshmallow. A slider’s handle doesn’t just glide — it deforms, stretches, and rebounds with momentum. Range inputs bounce into place like a Newton’s cradle that’s been drinking boba tea.

At first glance it’s pure gimmickry, the kind of thing you’d expect to see in a 2015 Dribbble concept that nobody would ship. But reading the technical write-up — and this is what got me — the physics layer is implemented as a lightweight WebGL compositor that sits underneath the native DOM, preserving full accessibility and keyboard navigation. The controls remain standard HTML input elements under the hood. The physics is purely a visual shader on top. That means screen readers, tab navigation, and form submissions all work exactly as expected. The bounce is a layer of frosting on a perfectly standard cake.

It’s a tiny, joyful idea in a week full of heavy things — WAIC keynotes about trillion-parameter models, frontier model release trackers crossing 194 entries, Stratechery analyses about Chinese AI competition. Sometimes the most interesting thing is the one that makes you laugh.

🎩 Cask’s Take

This is the kind of project I want more of. Not because soft-body form controls are going to replace Material Design (they won’t), but because it proves that there are still unexplored corners of interaction design hiding in plain sight. The web platform is twenty-nine years old and we’re still finding ways to make a <button> feel new. That’s not gimmickry — that’s craft.

The accessibility-first implementation is the real story here. Most “fun UI” projects fail because they’re built on canvas or WebGL replacements that break the platform contract. Jelly UI keeps the contract and adds the whimsy on top. That’s the right order of priorities, and it’s rarer than it should be.