Feature Playground

Tabb Labs

Every feature, named for
what it is.

39 web techniques we build, each with its real parameters wired to real controls. The name tells you what it is. The line under it tells you what it is like. Open one and turn the knobs until you can feel the difference.

39playable features
156live knobs
171techniques catalogued
0external requests

Scroll-driven

Scroll position is the input to a state machine, not a trigger for a fade.

Cursor / pointer

The pointer stops being an arrow and starts being an instrument.

3D and WebGL

One fullscreen quad. The fragment shader decides everything.

Typography / text

Type that assembles, decodes, breathes, or lights up.

Image / media

Four ways to take an image apart and put it back together wrong.

Layout

Structure that never stops moving.

Micro-interaction

The small feedback that separates expensive from cheap.

Texture / atmosphere

The grain and polish that kill the sterile CGI look.

Physics / simulation

Motion that obeys a rule instead of a keyframe.

Data-viz / scrollytelling

A number you can watch happen.

The floor

Turn motion off. Nothing breaks.

The initial-hidden state is gated on html.anim, added by a head script only when motion is allowed. JS off or prefers-reduced-motion: reduce means .anim never lands: every element is visible, every effect renders complete and static, and the script no-ops. Reduced motion means snap, not freeze.

Across roughly 3.3MB of production code from three Awwwards Sites of the Year, and across all of motherduck.com while 18 Lottie animations run, prefers-reduced-motion appears exactly 0 times. Awwwards weights usability at 30% and awards Site of the Year anyway. There is no award-site precedent to copy here, which is what makes this floor a cheap differentiator rather than a debt. Use the switch in the header to test it.