Cursor & Pointer
Gooey Trail
22 pink blobs chain-follow the pointer via spring physics and merge into liquid goo through an SVG feColorMatrix filter; auto-demos a Lissajous path when idle.
css+canvasmedium complexitymoderate motionpointer
Open on the canvas to copy the code → Free account · 3 copies a day · membership goes unlimited
Worth keeping?
Votes steer what gets built next — sign in to cast one, free to read
When to use it
Creative portfolio heroes, dark-mode landing pages, or any context where a custom cursor with viscous personality adds delight.
When not to
Utility UIs where the custom cursor (cursor:none) would confuse users, or low-end mobile where canvas+SVG filter stacks strain the GPU.
Working with an AI agent
Every component ships agent-ready metadata. An example instruction for this one:
Change blob color from #ff5ca8 to electric blue (#00c8ff), increase chain length from N=22 to N=30, and widen the head radius multiplier from 0.052 to 0.07. Theme: dark tokens live in :root, the light variant in :root[data-theme="light"]; ?theme=light or a {type:'forever:theme'} postMessage switches at runtime.
Safe to edit
- blob color (fillStyle '#ff5ca8')
- chain length (N=22)
- head/tail radius curve (base*0.052*k*k)
- spring follow speed (f=0.34-i*0.006)
- SVG goo blur amount (stdDeviation=7)
- idle demo path (demoPoint Lissajous params)
- theme tokens (:root dark defaults + [data-theme=light] overrides)
Keep intact
- SVG goo filter (feGaussianBlur + feColorMatrix)
- IIFE wrapper
- reduced-motion static draw() fallback
- visibilitychange pause guard
- theme hook (?theme= bootstrap + forever:theme message listener + theme tokens)
Known limitations
- cursor:none hides the system cursor globally — must be scoped carefully in multi-region layouts
- SVG filter applied to canvas via CSS may render incorrectly in some older Safari versions
- No touch fallback — pointermove on touch fires but demo auto-path does not re-engage cleanly on lift
More Cursor & Pointer components
- Magnetic DotGlowing pink dot springs to the pointer; a laggy outer ring squashes along its travel, joined by a fading tendril. Self-demos via Lissajous path when idle.
- Spotlight MaskRadial spotlight follows the pointer, punching through a dark veil to reveal a pink dot grid and glowing word. Auto-demos via Lissajous path when idle.
- Elastic RingGlowing pink ring trails the pointer with damped-spring physics, stretching along velocity and squashing across it. Auto-demos on a Lissajous path when idle.
- Trail CometHot-pink comet spring-follows the cursor, dragging a tapering additive trail that lengthens with speed and flings spark particles. Idle: Lissajous demo loop.
- Ripple FieldGrid of dots ripples outward in expanding pink rings as the pointer moves; dots displace radially along each wavefront. Lissajous auto-demo when idle.