Vibe Coding · Demo 16

Event-Driven UI

Pointer events, custom cursors, and IntersectionObserver — all in vanilla JS with zero libraries.

Draggable Cards

Drag the cards freely. Uses pointerdown / pointermove / pointerup + setPointerCapture. Double-click any card to snap it back.

Red double-click to reset
Green double-click to reset
Blue double-click to reset

Custom Cursor

Move your pointer inside the dark box. The cursor circle lerps toward the mouse. Hover the buttons to see it expand and invert.

IntersectionObserver Reveal

Scroll down to see items slide in. Each fires once via observer.unobserve() — no GSAP, just CSS transitions triggered by a class.